diff --git a/extension/qfq/qfq/store/Store.php b/extension/qfq/qfq/store/Store.php
index b4723ee3bdfac729ed4fbf8e6e7771ce2f933b99..c4bee36d3ad5a4cb9c01ee36ff4f464852be76dd 100644
--- a/extension/qfq/qfq/store/Store.php
+++ b/extension/qfq/qfq/store/Store.php
@@ -445,19 +445,24 @@ class Store {
         }
 
         while ($useStores !== false) {
-
             $store = substr($useStores, 0, 1); // next store
+
+            $finalKey = $key;
+            if ($store == STORE_LDAP) {
+                $finalKey = strtolower($key); // in STORE_LDAP all keys are lowercase
+            }
+
             $foundInStore = $store;
             $useStores = substr($useStores, 1); // shift left remaining stores
 
-            if (!isset(self::$raw[$store][$key])) {
+            if (!isset(self::$raw[$store][$finalKey])) {
                 switch ($store) {
                     case STORE_ZERO:
                         return 0;
                     case STORE_EMPTY:
                         return '';
                     case STORE_VAR:
-                        if ($key === VAR_RANDOM) {
+                        if ($finalKey === VAR_RANDOM) {
                             return Support::randomAlphaNum(RANDOM_LENGTH);
                         } else {
                             continue 2;  // no value provided, continue with while loop
@@ -469,7 +474,7 @@ class Store {
                 }
             }
 
-            $rawVal = isset(self::$raw[$store][$key]) ? self::$raw[$store][$key] : null;
+            $rawVal = isset(self::$raw[$store][$finalKey]) ? self::$raw[$store][$finalKey] : null;
             if (self::$sanitizeStore[$store] && $sanitizeClass != '') {
                 if ($sanitizeClass == SANITIZE_ALLOW_PATTERN || $sanitizeClass == SANITIZE_ALLOW_MIN_MAX || $sanitizeClass == SANITIZE_ALLOW_MIN_MAX_DATE) {
                     // We do not have any pattern or min|max values at this point. For those who be affected, they already checked earlier. So set 'no check'