diff --git a/typo3/sysext/backend/Classes/Form/Utility/FormEngineUtility.php b/typo3/sysext/backend/Classes/Form/Utility/FormEngineUtility.php
index 535daa845f459379daf6f52e068f19077ee96412..8e666fe70444d848830e7cea21446e6fc730b444 100644
--- a/typo3/sysext/backend/Classes/Form/Utility/FormEngineUtility.php
+++ b/typo3/sysext/backend/Classes/Form/Utility/FormEngineUtility.php
@@ -17,6 +17,7 @@ namespace TYPO3\CMS\Backend\Form\Utility;
 
 use TYPO3\CMS\Backend\Utility\BackendUtility;
 use TYPO3\CMS\Core\Cache\CacheManager;
+use TYPO3\CMS\Core\Core\Environment;
 use TYPO3\CMS\Core\Imaging\Icon;
 use TYPO3\CMS\Core\Imaging\IconFactory;
 use TYPO3\CMS\Core\Utility\ArrayUtility;
@@ -122,8 +123,12 @@ class FormEngineUtility
     public static function getIconHtml($icon, $alt = '', $title = '')
     {
         $icon = (string)$icon;
-        $absoluteFilePath = GeneralUtility::getFileAbsFileName($icon);
-        if (!empty($absoluteFilePath) && is_file($absoluteFilePath)) {
+        if (PathUtility::isAbsolutePath($icon)) {
+            $absoluteFilePath = $icon;
+        } else {
+            $absoluteFilePath = GeneralUtility::getFileAbsFileName($icon);
+        }
+        if (!empty($absoluteFilePath) && (is_file($absoluteFilePath)) || is_file(Environment::getPublicPath() . $absoluteFilePath)) {
             return '<img'
                 . ' loading="lazy" '
                 . ' src="' . htmlspecialchars(PathUtility::getAbsoluteWebPath($absoluteFilePath)) . '"'