diff --git a/typo3/sysext/extbase/Classes/Service/FlexFormService.php b/typo3/sysext/extbase/Classes/Service/FlexFormService.php
index a5c443cd4adbb60583e176054139c6dbc792cc06..6b1471afa26b9f265cb0f4c18ad08fe92085db80 100644
--- a/typo3/sysext/extbase/Classes/Service/FlexFormService.php
+++ b/typo3/sysext/extbase/Classes/Service/FlexFormService.php
@@ -93,7 +93,8 @@ class FlexFormService implements \TYPO3\CMS\Core\SingletonInterface
                         $currentNode = &$currentNode[$nodeKeyParts[$i]];
                     }
                     $newNode = [next($nodeKeyParts) => $nodeValue];
-                    $currentNode = $this->walkFlexFormNode($newNode, $valuePointer);
+                    $subVal = $this->walkFlexFormNode($newNode, $valuePointer);
+                    $currentNode[key($subVal)] = current($subVal);
                 } elseif (is_array($nodeValue)) {
                     if (array_key_exists($valuePointer, $nodeValue)) {
                         $return[$nodeKey] = $nodeValue[$valuePointer];
diff --git a/typo3/sysext/extbase/Tests/Unit/Service/FlexFormServiceTest.php b/typo3/sysext/extbase/Tests/Unit/Service/FlexFormServiceTest.php
index 37430ce029f69b577d204ea8c9b6212f0925ba00..c3d3aba49302d211b2784fac6d4b8256198ec105 100644
--- a/typo3/sysext/extbase/Tests/Unit/Service/FlexFormServiceTest.php
+++ b/typo3/sysext/extbase/Tests/Unit/Service/FlexFormServiceTest.php
@@ -67,6 +67,12 @@ class FlexFormServiceTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 									<field index="bum">
 										<value index="vDEF">Bum1-Value</value>
 									</field>
+									<field index="dot.one">
+										<value index="vDEF">dot.one-Value</value>
+									</field>
+									<field index="dot.two">
+										<value index="vDEF">dot.two-Value</value>
+									</field>
 								</el>
 							</itemType>
 							<itemType index="_TOGGLE">0</itemType>
@@ -97,7 +103,11 @@ class FlexFormServiceTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
                 'bar' => [
                     1 => [
                         'baz' => 'Baz1-Value',
-                        'bum' => 'Bum1-Value'
+                        'bum' => 'Bum1-Value',
+                        'dot' => [
+                            'one' => 'dot.one-Value',
+                            'two' => 'dot.two-Value',
+                        ],
                     ],
                     2 => [
                         'baz' => 'Baz2-Value',