diff --git a/typo3/sysext/form/Classes/Utility/CompatibilityLayerUtility.php b/typo3/sysext/form/Classes/Utility/CompatibilityLayerUtility.php
index 4875a9e60bdf00a2e424d3c5f9e5d6908e083df7..020a79c35fc41fb848d41765e10caea09d9aebb6 100644
--- a/typo3/sysext/form/Classes/Utility/CompatibilityLayerUtility.php
+++ b/typo3/sysext/form/Classes/Utility/CompatibilityLayerUtility.php
@@ -434,6 +434,7 @@ class CompatibilityLayerUtility {
 				$layout['elementOuterWrap'] = $elementWrap;
 				$element->setLayout($layout);
 			}
+
 			/* Set container inner wraps */
 			if (in_array($element->getElementType(), $this->containerElements)) {
 				$elementWrap = $this->determineElementOuterWraps($element->getElementType(), $elementLayout);
@@ -509,8 +510,26 @@ class CompatibilityLayerUtility {
 						$element->setHtmlAttribute('class', $classFromLayout);
 					}
 				}
+			} else {
+				/* set class attribute for the element tag */
+				if ($this->formBuilder->getControllerAction() === 'show') {
+					if ($elementType === 'TEXTAREA') {
+						$tagName = 'textarea';
+					} elseif ($elementType === 'SELECT') {
+						$tagName = 'select';
+					} else {
+						$tagName = 'input';
+					}
+
+					$classFromLayout = $this->getElementClassFromLayout($element->getElementType(), $tagName);
+					if (!empty($classFromLayout)) {
+						if (!empty($element->getAdditionalArgument('class'))) {
+							$classFromLayout .= ' ' . $element->getAdditionalArgument('class');
+						}
+						$element->setAdditionalArgument('class', $classFromLayout);
+					}
+				}
 			}
-			return;
 		}
 	}
 
@@ -532,17 +551,21 @@ class CompatibilityLayerUtility {
 	/**
 	 * Return the class attribute for a element defined by layout.
 	 *
-	 * @param string $elementName
+	 * @param string $elementType
+	 * @param string $tagName
 	 * @return string
 	 */
-	protected function getElementClassFromLayout($elementName = '') {
+	protected function getElementClassFromLayout($elementType = '', $tagName = '') {
 		$class = '';
 		$libxmlUseInternalErrors = libxml_use_internal_errors(true);
 		$dom = new \DOMDocument('1.0', 'utf-8');
 		$dom->formatOutput = TRUE;
 		$dom->preserveWhiteSpace = FALSE;
-		if ($dom->loadXML($this->getGlobalLayoutByElementType(strtoupper($elementName)))) {
-			$nodes = $dom->getElementsByTagName($elementName);
+		if ($dom->loadXML($this->getGlobalLayoutByElementType(strtoupper($elementType)))) {
+			if ($tagName === '') {
+				$tagName = $elementType;
+			}
+			$nodes = $dom->getElementsByTagName($tagName);
 			if ($nodes->length) {
 				$node = $nodes->item(0);
 				if ($node && $node->getAttribute('class') !== '') {