diff --git a/typo3/sysext/backend/Classes/Controller/Wizard/AddController.php b/typo3/sysext/backend/Classes/Controller/Wizard/AddController.php
index 2b55abbbd0d5f9c66eb1ae4e45c10acc78697480..0e8a22cf800d85f9c3243a86ab61ae07dc74c436 100644
--- a/typo3/sysext/backend/Classes/Controller/Wizard/AddController.php
+++ b/typo3/sysext/backend/Classes/Controller/Wizard/AddController.php
@@ -198,22 +198,30 @@ class AddController extends AbstractWizardController
                     // If the field is a flexForm field, work with the XML structure instead:
                     if ($this->P['flexFormPath']) {
                         // Current value of flexForm path:
-                        $currentFlexFormData = GeneralUtility::xml2array($currentParentRow[$this->P['field']]);
+                        $currentFlexFormData = $currentParentRow[$this->P['field']];
                         /** @var FlexFormTools $flexFormTools */
                         $flexFormTools = GeneralUtility::makeInstance(FlexFormTools::class);
-                        $currentFlexFormValue = $flexFormTools->getArrayValueByPath(
+                        $currentFlexFormValueByPath = $flexFormTools->getArrayValueByPath(
                             $this->P['flexFormPath'],
                             $currentFlexFormData
                         );
+
+                        // Compile currentFlexFormData to functional string
+                        $currentFlexFormValues = [];
+                        foreach ($currentFlexFormValueByPath as $value) {
+                            $currentFlexFormValues[] = $value['table'] . '_' . $value['uid'];
+                        }
+                        $currentFlexFormValue = implode(',', $currentFlexFormValues);
+
                         $insertValue = '';
                         switch ((string)$this->P['params']['setValue']) {
                             case 'set':
                                 $insertValue = $recordId;
                                 break;
-                            case 'prepend':
+                            case 'append':
                                 $insertValue = $currentFlexFormValue . ',' . $recordId;
                                 break;
-                            case 'append':
+                            case 'prepend':
                                 $insertValue = $recordId . ',' . $currentFlexFormValue;
                                 break;
                         }
@@ -236,10 +244,10 @@ class AddController extends AbstractWizardController
                             case 'set':
                                 $data[$this->P['table']][$this->P['uid']][$this->P['field']] = $recordId;
                                 break;
-                            case 'prepend':
+                            case 'append':
                                 $data[$this->P['table']][$this->P['uid']][$this->P['field']] = $currentValue . ',' . $recordId;
                                 break;
-                            case 'append':
+                            case 'prepend':
                                 $data[$this->P['table']][$this->P['uid']][$this->P['field']] = $recordId . ',' . $currentValue;
                                 break;
                         }