diff --git a/typo3/sysext/form/Classes/Hooks/HandleIncomingFormValues.php b/typo3/sysext/form/Classes/Hooks/HandleIncomingFormValues.php
index b132fecc3f5c6e3da07da55d5e24feae223ba14c..36a038fe726147ff15c8d674ca099ef9b9d820db 100644
--- a/typo3/sysext/form/Classes/Hooks/HandleIncomingFormValues.php
+++ b/typo3/sysext/form/Classes/Hooks/HandleIncomingFormValues.php
@@ -113,6 +113,7 @@ class HandleIncomingFormValues implements SingletonInterface {
 				$element->getParentElement()->setAdditionalArgument('atLeastOneCheckedChildElement', TRUE);
 			}
 		} elseif ($element->getElementType() === 'OPTION') {
+			$modelValue = (string)($element->getAdditionalArgument('value') ?: $element->getElementCounter());
 			if ($element->getParentElement()->getElementType() === 'OPTGROUP') {
 				$parentName = $element->getParentElement()->getParentElement()->getName();
 			} else {
@@ -121,7 +122,7 @@ class HandleIncomingFormValues implements SingletonInterface {
 			$incomingData = $formBuilder->getIncomingData()->getIncomingField($parentName);
 			/* Multiselect */
 			if (is_array($incomingData)) {
-				if (in_array($modelValue, $incomingData)) {
+				if (in_array($modelValue, $incomingData, TRUE)) {
 					$element->setHtmlAttribute('selected', 'selected');
 				} else {
 					$element->setHtmlAttribute('selected', NULL);
diff --git a/typo3/sysext/form/Classes/ViewHelpers/AggregateSelectOptionsViewHelper.php b/typo3/sysext/form/Classes/ViewHelpers/AggregateSelectOptionsViewHelper.php
index bf5f251e940eeb46f9aa1585277a8b4bc1a1ce2e..a1f0a69f07affb24e996f388a6d5d2277d8c62fc 100644
--- a/typo3/sysext/form/Classes/ViewHelpers/AggregateSelectOptionsViewHelper.php
+++ b/typo3/sysext/form/Classes/ViewHelpers/AggregateSelectOptionsViewHelper.php
@@ -15,17 +15,13 @@ namespace TYPO3\CMS\Form\ViewHelpers;
  */
 
 use TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper;
+use TYPO3\CMS\Form\Domain\Model\Element;
 
 /**
  * Aggregator for the select options
  */
 class AggregateSelectOptionsViewHelper extends AbstractViewHelper  {
 
-	/**
-	 * @var \TYPO3\CMS\Form\Domain\Model\Form
-	 */
-	protected $model;
-
 	/**
 	 * @var array
 	 */
@@ -37,14 +33,14 @@ class AggregateSelectOptionsViewHelper extends AbstractViewHelper  {
 	protected $selectedValues = array();
 
 	/**
-	 * @param \TYPO3\CMS\Form\Domain\Model\Element\AbstractElement $model
+	 * @param Element $model
 	 * @param boolean $returnSelectedValues
 	 * @return array
 	 */
-	public function render($model, $returnSelectedValues = FALSE) {
+	public function render(Element $model, $returnSelectedValues = FALSE) {
 
 		foreach ($model->getChildElements() as $element) {
-			$this->createElement($element, array());
+			$this->createElement($element);
 		}
 
 		if ($returnSelectedValues === TRUE) {
@@ -55,20 +51,20 @@ class AggregateSelectOptionsViewHelper extends AbstractViewHelper  {
 	}
 
 	/**
-	 * @param \TYPO3\CMS\Form\Domain\Model\Element\AbstractElement $model
+	 * @param Element $model
 	 * @param array $optGroupData
 	 * @return void
 	 */
-	public function createElement($model, $optGroupData = array()) {
+	protected function createElement(Element $model, array $optGroupData = array()) {
 		$this->checkElementForOptgroup($model, $optGroupData);
 	}
 
 	/**
-	 * @param \TYPO3\CMS\Form\Domain\Model\Element\AbstractElement $model
+	 * @param Element $model
 	 * @param array $optGroupData
 	 * @return void
 	 */
-	protected function checkElementForOptgroup($model, $optGroupData = array()) {
+	protected function checkElementForOptgroup(Element $model, array $optGroupData = array()) {
 		if ($model->getElementType() === 'OPTGROUP') {
 			$optGroupData = array(
 				'label' => $model->getAdditionalArgument('label'),
@@ -77,13 +73,13 @@ class AggregateSelectOptionsViewHelper extends AbstractViewHelper  {
 			$this->getChildElements($model, $optGroupData);
 		} else {
 			$optionData = array(
-				'value' => $model->getAdditionalArgument('value'),
+				'value' => $model->getAdditionalArgument('value') ?: $model->getElementCounter(),
 				'label' => $model->getAdditionalArgument('text'),
 				'selected' => $model->getHtmlAttribute('selected'),
 			);
 
-			if ($model->getHtmlAttribute('selected') == 'selected') {
-				$this->selectedValues[] = $model->getAdditionalArgument('value');
+			if (!empty($optionData['selected'])) {
+				$this->selectedValues[] = $optionData['value'];
 			}
 
 			if (count($optGroupData)) {
@@ -93,18 +89,18 @@ class AggregateSelectOptionsViewHelper extends AbstractViewHelper  {
 			} else {
 				$this->options[] = $optionData;
 			}
-			return $model;
 		}
 	}
 
 	/**
-	 * @param \TYPO3\CMS\Form\Domain\Model\Element\AbstractElement $model
+	 * @param Element $model
 	 * @param array $optGroupData
 	 * @return void
 	 */
-	protected function getChildElements($model, $optGroupData = array()) {
+	protected function getChildElements(Element $model, array $optGroupData = array()) {
 		foreach ($model->getChildElements() as $element) {
 			$this->createElement($element, $optGroupData);
 		}
 	}
+
 }
diff --git a/typo3/sysext/form/Resources/Private/Partials/Compatibility/Confirmation/FlatElements/Select.html b/typo3/sysext/form/Resources/Private/Partials/Compatibility/Confirmation/FlatElements/Select.html
index ae70c1beef6268b2bc9eff8ff2c714c91d77ab72..772230c7f289af3b105dc8ed739c211aeeb0469b 100644
--- a/typo3/sysext/form/Resources/Private/Partials/Compatibility/Confirmation/FlatElements/Select.html
+++ b/typo3/sysext/form/Resources/Private/Partials/Compatibility/Confirmation/FlatElements/Select.html
@@ -4,16 +4,66 @@
 	<f:format.raw>{model.layout.elementOuterWrap.0}</f:format.raw>
 		<ol>
 </f:if>
-		<f:for each="<form:aggregateSelectOptions model='{model}' />" as="option">
+		<f:for each="{form:aggregateSelectOptions(model:model)}" as="option">
 			<f:if condition="{option.options}">
 				<f:then>
 						<f:for each="{option.options}" as="optgroupOption">
-							<f:if condition="{optgroupOption.selected} == 'selected'">
+							<f:if condition="{optgroupOption.selected}">
 								<f:if condition="{model.showElement}">
 									<f:format.raw>{model.layout.elementOuterWrap.0}</f:format.raw>
 										{optgroupOption.label}
 									<f:format.raw>{model.layout.elementOuterWrap.1}</f:format.raw>
 								</f:if>
+								<f:if condition="{model.additionalArguments.multiple}">
+									<f:then>
+										<f:form.hidden
+											class="{model.additionalArguments.class}"
+											dir="{model.additionalArguments.dir}"
+											id="{model.additionalArguments.id}"
+											lang="{model.additionalArguments.lang}"
+											style="{model.additionalArguments.style}"
+											title="{model.additionalArguments.title}"
+											accesskey="{model.additionalArguments.accesskey}"
+											tabindex="{model.additionalArguments.tabindex}"
+											onclick="{model.additionalArguments.onclick}"
+
+											name="{model.additionalArguments.prefix}[{model.additionalArguments.name}][]"
+											value="{option.value}"
+
+											additionalAttributes="{model.htmlAttributes}"
+										/>
+									</f:then>
+									<f:else>
+										<f:form.hidden
+											class="{model.additionalArguments.class}"
+											dir="{model.additionalArguments.dir}"
+											id="{model.additionalArguments.id}"
+											lang="{model.additionalArguments.lang}"
+											style="{model.additionalArguments.style}"
+											title="{model.additionalArguments.title}"
+											accesskey="{model.additionalArguments.accesskey}"
+											tabindex="{model.additionalArguments.tabindex}"
+											onclick="{model.additionalArguments.onclick}"
+
+											name="{model.additionalArguments.prefix}[{model.additionalArguments.name}]"
+											value="{option.value}"
+
+											additionalAttributes="{model.htmlAttributes}"
+										/>
+									</f:else>
+								</f:if>
+							</f:if>
+						</f:for>
+				</f:then>
+				<f:else>
+					<f:if condition="{option.selected}">
+						<f:if condition="{model.showElement}">
+							<f:format.raw>{model.layout.elementOuterWrap.0}</f:format.raw>
+								{option.label}
+							<f:format.raw>{model.layout.elementOuterWrap.1}</f:format.raw>
+						</f:if>
+						<f:if condition="{model.additionalArguments.multiple}">
+							<f:then>
 								<f:form.hidden
 									class="{model.additionalArguments.class}"
 									dir="{model.additionalArguments.dir}"
@@ -26,36 +76,30 @@
 									onclick="{model.additionalArguments.onclick}"
 
 									name="{model.additionalArguments.prefix}[{model.additionalArguments.name}][]"
-									value="{optgroupOption.value}"
+									value="{option.value}"
 
 									additionalAttributes="{model.htmlAttributes}"
 								/>
-							</f:if>
-						</f:for>
-				</f:then>
-				<f:else>
-					<f:if condition="{option.selected} == 'selected'">
-						<f:if condition="{model.showElement}">
-							<f:format.raw>{model.layout.elementOuterWrap.0}</f:format.raw>
-								{option.label}
-							<f:format.raw>{model.layout.elementOuterWrap.1}</f:format.raw>
-						</f:if>
-						<f:form.hidden
-							class="{model.additionalArguments.class}"
-							dir="{model.additionalArguments.dir}"
-							id="{model.additionalArguments.id}"
-							lang="{model.additionalArguments.lang}"
-							style="{model.additionalArguments.style}"
-							title="{model.additionalArguments.title}"
-							accesskey="{model.additionalArguments.accesskey}"
-							tabindex="{model.additionalArguments.tabindex}"
-							onclick="{model.additionalArguments.onclick}"
+							</f:then>
+							<f:else>
+								<f:form.hidden
+									class="{model.additionalArguments.class}"
+									dir="{model.additionalArguments.dir}"
+									id="{model.additionalArguments.id}"
+									lang="{model.additionalArguments.lang}"
+									style="{model.additionalArguments.style}"
+									title="{model.additionalArguments.title}"
+									accesskey="{model.additionalArguments.accesskey}"
+									tabindex="{model.additionalArguments.tabindex}"
+									onclick="{model.additionalArguments.onclick}"
 
-							name="{model.additionalArguments.prefix}[{model.additionalArguments.name}][]"
-							value="{option.value}"
+									name="{model.additionalArguments.prefix}[{model.additionalArguments.name}]"
+									value="{option.value}"
 
-							additionalAttributes="{model.htmlAttributes}"
-						/>
+									additionalAttributes="{model.htmlAttributes}"
+								/>
+							</f:else>
+						</f:if>
 					</f:if>
 				</f:else>
 			</f:if>
diff --git a/typo3/sysext/form/Resources/Private/Partials/Compatibility/PostProcessor/Mail/Html/FlatElements/Select.html b/typo3/sysext/form/Resources/Private/Partials/Compatibility/PostProcessor/Mail/Html/FlatElements/Select.html
index f8e7497b54909781b6494978ca6ef6c3e902e59b..ffa5c6198b0bab4beeafbc0c87191254fd14d761 100644
--- a/typo3/sysext/form/Resources/Private/Partials/Compatibility/PostProcessor/Mail/Html/FlatElements/Select.html
+++ b/typo3/sysext/form/Resources/Private/Partials/Compatibility/PostProcessor/Mail/Html/FlatElements/Select.html
@@ -5,22 +5,22 @@
     <em>{model.additionalArguments.label}</em>
   </td>
   <td>
-<f:for each="<form:aggregateSelectOptions model='{model}' />" as="option">
+<f:for each="{form:aggregateSelectOptions(model:model)}" as="option">
 <f:if condition="{option.options}">
 <f:then>
 <f:for each="{option.options}" as="optgroupOption">
-<f:if condition="{optgroupOption.selected} == 'selected'">
-    <div class="csc-form-element csc-form-element-{model.elementTypeLowerCase}">{optgroupOption.value}</div>
+<f:if condition="{optgroupOption.selected}">
+    <div class="csc-form-element csc-form-element-{model.elementTypeLowerCase}">{optgroupOption.label}</div>
 </f:if>
 </f:for>
 </f:then>
 <f:else>
-<f:if condition="{option.selected} == 'selected'">
-    <div class="csc-form-element csc-form-element-{model.elementTypeLowerCase}">{option.value}</div>
+<f:if condition="{option.selected}">
+    <div class="csc-form-element csc-form-element-{model.elementTypeLowerCase}">{option.label}</div>
 </f:if>
 </f:else>
 </f:if>
 </f:for>
   </td>
 </tr>
-</f:if>
\ No newline at end of file
+</f:if>
diff --git a/typo3/sysext/form/Resources/Private/Partials/Compatibility/PostProcessor/Mail/Plain/FlatElements/Select.html b/typo3/sysext/form/Resources/Private/Partials/Compatibility/PostProcessor/Mail/Plain/FlatElements/Select.html
index 1d6cba8b6a6f70c17dccc726579f446d2c097fa3..122c8666ff2045bd88639451c9e6d38dd00433ab 100644
--- a/typo3/sysext/form/Resources/Private/Partials/Compatibility/PostProcessor/Mail/Plain/FlatElements/Select.html
+++ b/typo3/sysext/form/Resources/Private/Partials/Compatibility/PostProcessor/Mail/Plain/FlatElements/Select.html
@@ -1,3 +1,3 @@
-{namespace form=TYPO3\CMS\Form\ViewHelpers}<f:if condition="{model.showElement}"><form:plainMail labelContent="{model}" newLineAfterLabel="1" indent="4" /><f:for each="<form:aggregateSelectOptions model='{model}' />" as="option"><f:if condition="{option.options}"><f:then><f:for each="{option.options}" as="optgroupOption"><f:if condition="{optgroupOption.selected} == 'selected'"><form:plainMail content="{optgroupOption.value}" />
-</f:if></f:for></f:then><f:else><f:if condition="{option.selected} == 'selected'"><form:plainMail content="{option.value}" />
+{namespace form=TYPO3\CMS\Form\ViewHelpers}<f:if condition="{model.showElement}"><form:plainMail labelContent="{model}" newLineAfterLabel="1" indent="4" /><f:for each="{form:aggregateSelectOptions(model:model)}" as="option"><f:if condition="{option.options}"><f:then><f:for each="{option.options}" as="optgroupOption"><f:if condition="{optgroupOption.selected}"><form:plainMail content="{optgroupOption.label}" />
+</f:if></f:for></f:then><f:else><f:if condition="{option.selected}"><form:plainMail content="{option.label}" />
 </f:if></f:else></f:if></f:for><form:plainMail indent="-4"/></f:if>
\ No newline at end of file
diff --git a/typo3/sysext/form/Resources/Private/Partials/Compatibility/Show/FlatElements/Select.html b/typo3/sysext/form/Resources/Private/Partials/Compatibility/Show/FlatElements/Select.html
index e3b15c56d9170fad2b883662291d704f9e8d3200..494df691bc986f8b9bd99f3fc3d500f6d5587b39 100644
--- a/typo3/sysext/form/Resources/Private/Partials/Compatibility/Show/FlatElements/Select.html
+++ b/typo3/sysext/form/Resources/Private/Partials/Compatibility/Show/FlatElements/Select.html
@@ -21,7 +21,7 @@
 
 			optionLabelField="label"
 			optionValueField="value"
-			options='<form:aggregateSelectOptions model="{model}" />'
+			options="{form:aggregateSelectOptions(model:model)}"
 			prependOptionLabel="{model.additionalArguments.prependOptionLabel}"
 			prependOptionValue="{model.additionalArguments.prependOptionValue}"
 			selectAllByDefault="{model.additionalArguments.selectAllByDefault}"
diff --git a/typo3/sysext/form/Resources/Private/Partials/Default/Confirmation/FlatElements/Select.html b/typo3/sysext/form/Resources/Private/Partials/Default/Confirmation/FlatElements/Select.html
index 32e6eca80b26813eade42d547017d928837eba89..68101e523d272be3a05bdefec426969259edcdb0 100644
--- a/typo3/sysext/form/Resources/Private/Partials/Default/Confirmation/FlatElements/Select.html
+++ b/typo3/sysext/form/Resources/Private/Partials/Default/Confirmation/FlatElements/Select.html
@@ -7,16 +7,66 @@
 		</label>
 		<ol>
 </f:if>
-<f:for each="<form:aggregateSelectOptions model='{model}' />" as="option">
+<f:for each="{form:aggregateSelectOptions(model:model)}" as="option">
 	<f:if condition="{option.options}">
 		<f:then>
 				<f:for each="{option.options}" as="optgroupOption">
-					<f:if condition="{optgroupOption.selected} == 'selected'">
+					<f:if condition="{optgroupOption.selected}">
 						<f:if condition="{model.showElement}">
 							<li class="csc-form-element csc-form-element-{model.elementTypeLowerCase}">
 								{optgroupOption.label}
 							</li>
 						</f:if>
+						<f:if condition="{model.additionalArguments.multiple}">
+							<f:then>
+								<f:form.hidden
+									class="{model.additionalArguments.class}"
+									dir="{model.additionalArguments.dir}"
+									id="{model.additionalArguments.id}"
+									lang="{model.additionalArguments.lang}"
+									style="{model.additionalArguments.style}"
+									title="{model.additionalArguments.title}"
+									accesskey="{model.additionalArguments.accesskey}"
+									tabindex="{model.additionalArguments.tabindex}"
+									onclick="{model.additionalArguments.onclick}"
+
+									name="{model.additionalArguments.prefix}[{model.additionalArguments.name}][]"
+									value="{optgroupOption.value}"
+
+									additionalAttributes="{model.htmlAttributes}"
+								/>
+							</f:then>
+							<f:else>
+								<f:form.hidden
+									class="{model.additionalArguments.class}"
+									dir="{model.additionalArguments.dir}"
+									id="{model.additionalArguments.id}"
+									lang="{model.additionalArguments.lang}"
+									style="{model.additionalArguments.style}"
+									title="{model.additionalArguments.title}"
+									accesskey="{model.additionalArguments.accesskey}"
+									tabindex="{model.additionalArguments.tabindex}"
+									onclick="{model.additionalArguments.onclick}"
+
+									name="{model.additionalArguments.prefix}[{model.additionalArguments.name}]"
+									value="{optgroupOption.value}"
+
+									additionalAttributes="{model.htmlAttributes}"
+								/>
+							</f:else>
+						</f:if>
+					</f:if>
+				</f:for>
+		</f:then>
+		<f:else>
+			<f:if condition="{option.selected}">
+				<f:if condition="{model.showElement}">
+					<li class="csc-form-element csc-form-element-{model.elementTypeLowerCase}">
+						{option.label}
+					</li>
+				</f:if>
+				<f:if condition="{model.additionalArguments.multiple}">
+					<f:then>
 						<f:form.hidden
 							class="{model.additionalArguments.class}"
 							dir="{model.additionalArguments.dir}"
@@ -29,36 +79,30 @@
 							onclick="{model.additionalArguments.onclick}"
 
 							name="{model.additionalArguments.prefix}[{model.additionalArguments.name}][]"
-							value="{optgroupOption.value}"
+							value="{option.value}"
 
 							additionalAttributes="{model.htmlAttributes}"
 						/>
-					</f:if>
-				</f:for>
-		</f:then>
-		<f:else>
-			<f:if condition="{option.selected} == 'selected'">
-				<f:if condition="{model.showElement}">
-					<li class="csc-form-element csc-form-element-{model.elementTypeLowerCase}">
-						{option.label}
-					</li>
-				</f:if>
-				<f:form.hidden
-					class="{model.additionalArguments.class}"
-					dir="{model.additionalArguments.dir}"
-					id="{model.additionalArguments.id}"
-					lang="{model.additionalArguments.lang}"
-					style="{model.additionalArguments.style}"
-					title="{model.additionalArguments.title}"
-					accesskey="{model.additionalArguments.accesskey}"
-					tabindex="{model.additionalArguments.tabindex}"
-					onclick="{model.additionalArguments.onclick}"
+					</f:then>
+					<f:else>
+						<f:form.hidden
+							class="{model.additionalArguments.class}"
+							dir="{model.additionalArguments.dir}"
+							id="{model.additionalArguments.id}"
+							lang="{model.additionalArguments.lang}"
+							style="{model.additionalArguments.style}"
+							title="{model.additionalArguments.title}"
+							accesskey="{model.additionalArguments.accesskey}"
+							tabindex="{model.additionalArguments.tabindex}"
+							onclick="{model.additionalArguments.onclick}"
 
-					name="{model.additionalArguments.prefix}[{model.additionalArguments.name}][]"
-					value="{option.value}"
+							name="{model.additionalArguments.prefix}[{model.additionalArguments.name}]"
+							value="{option.value}"
 
-					additionalAttributes="{model.htmlAttributes}"
-				/>
+							additionalAttributes="{model.htmlAttributes}"
+						/>
+					</f:else>
+				</f:if>
 			</f:if>
 		</f:else>
 	</f:if>
diff --git a/typo3/sysext/form/Resources/Private/Partials/Default/PostProcessor/Mail/Html/FlatElements/Select.html b/typo3/sysext/form/Resources/Private/Partials/Default/PostProcessor/Mail/Html/FlatElements/Select.html
index f8e7497b54909781b6494978ca6ef6c3e902e59b..b37519f68de60e4a0deb4e66932e3b3a08404b98 100644
--- a/typo3/sysext/form/Resources/Private/Partials/Default/PostProcessor/Mail/Html/FlatElements/Select.html
+++ b/typo3/sysext/form/Resources/Private/Partials/Default/PostProcessor/Mail/Html/FlatElements/Select.html
@@ -5,18 +5,18 @@
     <em>{model.additionalArguments.label}</em>
   </td>
   <td>
-<f:for each="<form:aggregateSelectOptions model='{model}' />" as="option">
+<f:for each="{form:aggregateSelectOptions(model:model)}" as="option">
 <f:if condition="{option.options}">
 <f:then>
 <f:for each="{option.options}" as="optgroupOption">
-<f:if condition="{optgroupOption.selected} == 'selected'">
-    <div class="csc-form-element csc-form-element-{model.elementTypeLowerCase}">{optgroupOption.value}</div>
+<f:if condition="{optgroupOption.selected}">
+    <div class="csc-form-element csc-form-element-{model.elementTypeLowerCase}">{optgroupOption.label}</div>
 </f:if>
 </f:for>
 </f:then>
 <f:else>
-<f:if condition="{option.selected} == 'selected'">
-    <div class="csc-form-element csc-form-element-{model.elementTypeLowerCase}">{option.value}</div>
+<f:if condition="{option.selected}">
+    <div class="csc-form-element csc-form-element-{model.elementTypeLowerCase}">{option.label}</div>
 </f:if>
 </f:else>
 </f:if>
diff --git a/typo3/sysext/form/Resources/Private/Partials/Default/PostProcessor/Mail/Plain/FlatElements/Select.html b/typo3/sysext/form/Resources/Private/Partials/Default/PostProcessor/Mail/Plain/FlatElements/Select.html
index 1d6cba8b6a6f70c17dccc726579f446d2c097fa3..122c8666ff2045bd88639451c9e6d38dd00433ab 100644
--- a/typo3/sysext/form/Resources/Private/Partials/Default/PostProcessor/Mail/Plain/FlatElements/Select.html
+++ b/typo3/sysext/form/Resources/Private/Partials/Default/PostProcessor/Mail/Plain/FlatElements/Select.html
@@ -1,3 +1,3 @@
-{namespace form=TYPO3\CMS\Form\ViewHelpers}<f:if condition="{model.showElement}"><form:plainMail labelContent="{model}" newLineAfterLabel="1" indent="4" /><f:for each="<form:aggregateSelectOptions model='{model}' />" as="option"><f:if condition="{option.options}"><f:then><f:for each="{option.options}" as="optgroupOption"><f:if condition="{optgroupOption.selected} == 'selected'"><form:plainMail content="{optgroupOption.value}" />
-</f:if></f:for></f:then><f:else><f:if condition="{option.selected} == 'selected'"><form:plainMail content="{option.value}" />
+{namespace form=TYPO3\CMS\Form\ViewHelpers}<f:if condition="{model.showElement}"><form:plainMail labelContent="{model}" newLineAfterLabel="1" indent="4" /><f:for each="{form:aggregateSelectOptions(model:model)}" as="option"><f:if condition="{option.options}"><f:then><f:for each="{option.options}" as="optgroupOption"><f:if condition="{optgroupOption.selected}"><form:plainMail content="{optgroupOption.label}" />
+</f:if></f:for></f:then><f:else><f:if condition="{option.selected}"><form:plainMail content="{option.label}" />
 </f:if></f:else></f:if></f:for><form:plainMail indent="-4"/></f:if>
\ No newline at end of file
diff --git a/typo3/sysext/form/Resources/Private/Partials/Default/Show/FlatElements/Select.html b/typo3/sysext/form/Resources/Private/Partials/Default/Show/FlatElements/Select.html
index ff3382b509cc38104d384871d6c77e1a63aa6d29..3dd57d004ff2f4cc9e704d5867a1588d30a9506e 100644
--- a/typo3/sysext/form/Resources/Private/Partials/Default/Show/FlatElements/Select.html
+++ b/typo3/sysext/form/Resources/Private/Partials/Default/Show/FlatElements/Select.html
@@ -31,7 +31,7 @@
 
 			optionLabelField="label"
 			optionValueField="value"
-			options='<form:aggregateSelectOptions model="{model}" />'
+			options="{form:aggregateSelectOptions(model:model)}"
 			prependOptionLabel="{model.additionalArguments.prependOptionLabel}"
 			prependOptionValue="{model.additionalArguments.prependOptionValue}"
 			selectAllByDefault="{model.additionalArguments.selectAllByDefault}"