diff --git a/extension/qfq/qfq/AbstractBuildForm.php b/extension/qfq/qfq/AbstractBuildForm.php
index ee24c17958cb9f113c9790c440aa974fe98b1bd6..73b1b27b330432d43a0179f21663fb8f6d8a2c7c 100644
--- a/extension/qfq/qfq/AbstractBuildForm.php
+++ b/extension/qfq/qfq/AbstractBuildForm.php
@@ -479,7 +479,9 @@ abstract class AbstractBuildForm {
         $config = array();
 
         if (isset($formElement[FE_FILL_STORE_LDAP]) || isset($formElement[FE_TYPEAHEAD_LDAP])) {
-            $formElement = $this->copyLdapConfigForm2FormElement($formElement);
+            $keyNames = [F_LDAP_SERVER, F_LDAP_BASE_DN, F_LDAP_ATTRIBUTES, F_LDAP_SEARCH, F_TYPEAHEAD_LDAP_SEARCH, F_TYPEAHEAD_LIMIT,
+                F_TYPEAHEAD_MINLENGTH, F_TYPEAHEAD_LDAP_VALUE_PRINTF, F_TYPEAHEAD_LDAP_KEY_PRINTF, F_LDAP_TIME_LIMIT];
+            $formElement = OnArray::copyArrayItemsIfNotAlreadyExist($this->formSpec, $formElement, $keyNames);
         } else {
             return $formElement; // nothing to do.
         }
@@ -487,10 +489,7 @@ abstract class AbstractBuildForm {
         if (isset($formElement[FE_FILL_STORE_LDAP])) {
 
             // Extract necessary elements
-            foreach ([FE_LDAP_SERVER, FE_LDAP_BASE_DN, FE_LDAP_SEARCH, FE_LDAP_ATTRIBUTES] as $key) {
-                $config[$key] = $formElement[$key];
-            }
-
+            $config = OnArray::getArrayItems($formElement, [FE_LDAP_SERVER, FE_LDAP_BASE_DN, FE_LDAP_SEARCH, FE_LDAP_ATTRIBUTES]);
             $config = $this->evaluate->parseArray($config);
 
             $ldap = new Ldap();
@@ -501,27 +500,6 @@ abstract class AbstractBuildForm {
         return $formElement;
     }
 
-    /**
-     * Copy LDAP Config from $this->formSpec to $formElement. Do not copy if a parameter already exist on $formElement.
-     *
-     * @param array $formElement
-     * @return array
-     */
-    private function copyLdapConfigForm2FormElement(array $formElement) {
-
-        foreach ([F_LDAP_SERVER, F_LDAP_BASE_DN, F_LDAP_ATTRIBUTES, F_LDAP_SEARCH, F_TYPEAHEAD_LDAP_SEARCH, F_TYPEAHEAD_LIMIT,
-                     F_TYPEAHEAD_MINLENGTH, F_TYPEAHEAD_LDAP_VALUE_PRINTF, F_TYPEAHEAD_LDAP_KEY_PRINTF, F_LDAP_TIME_LIMIT] as $key) {
-
-            if (!isset($formElement[$key])) {
-                if (isset($this->formSpec[$key])) {
-                    $formElement[$key] = $this->formSpec[$key];
-                }
-            }
-        }
-
-        return $formElement;
-    }
-
     /**
      * Check if there is an explicit 'autofocus' definition in at least one FE.
      * Found: do nothing, it will be rendered at the correct position.
@@ -898,6 +876,7 @@ abstract class AbstractBuildForm {
                     throw new UserFormException('Missing definition: ' . $key, ERROR_MISSING_DEFINITON);
                 }
             }
+
             if ($formElement[FE_TYPEAHEAD_LDAP_VALUE_PRINTF] . $formElement[FE_TYPEAHEAD_LDAP_KEY_PRINTF] == '') {
                 throw new UserFormException('Missing definition: ' . FE_TYPEAHEAD_LDAP_VALUE_PRINTF . ' or ' . FE_TYPEAHEAD_LDAP_KEY_PRINTF, ERROR_MISSING_DEFINITON);
             }
diff --git a/extension/qfq/qfq/form/FormAction.php b/extension/qfq/qfq/form/FormAction.php
index 774a8a4d56e11c03dc26ce03d0ef6795b03283a8..82c340ff428f1e89e8cc493307ec3a4cbb2ca2fc 100644
--- a/extension/qfq/qfq/form/FormAction.php
+++ b/extension/qfq/qfq/form/FormAction.php
@@ -96,6 +96,19 @@ class FormAction {
                 continue;
             }
 
+            if (isset($fe[FE_FILL_STORE_LDAP])) {
+                $keyNames = [F_LDAP_SERVER, F_LDAP_BASE_DN, F_LDAP_ATTRIBUTES, F_LDAP_SEARCH, F_LDAP_TIME_LIMIT];
+                $fe = OnArray::copyArrayItemsIfNotAlreadyExist($this->formSpec, $fe, $keyNames);
+
+                // Extract necessary elements
+                $config = OnArray::getArrayItems($fe, [FE_LDAP_SERVER, FE_LDAP_BASE_DN, FE_LDAP_SEARCH, FE_LDAP_ATTRIBUTES]);
+                $config = $this->evaluate->parseArray($config);
+
+                $ldap = new Ldap();
+                $arr = $ldap->process($config, '', MODE_LDAP_SINGLE);
+                $this->store->setStore($arr, STORE_LDAP, true);
+            }
+
             if ($fe[FE_TYPE] === FE_TYPE_SENDMAIL) {
                 $this->sendMail($fe);
                 //no further processing of current element necessary.