diff --git a/javascript/src/QfqForm.js b/javascript/src/QfqForm.js
index 6f0a7e7384532700fb985fe2fdc07edc701f7ec0..9c523b77c66570f7c0782eb5a31235b539d5a252 100644
--- a/javascript/src/QfqForm.js
+++ b/javascript/src/QfqForm.js
@@ -1230,6 +1230,7 @@ var QfqNS = QfqNS || {};
      */
     n.QfqForm.prototype.applyFormConfiguration = function (configuration) {
         var arrayLength = configuration.length;
+        var countElementArray = 0;
         for (var i = 0; i < arrayLength; i++) {
             var configurationItem = configuration[i];
             var formElementName = configurationItem["form-element"];
@@ -1238,47 +1239,63 @@ var QfqNS = QfqNS || {};
                 continue;
             }
             try {
-                var element = n.Element.getElement(formElementName);
-
-                // Cleaner way to set states for tinymce
-                // This triggers the event on the unaccesable textarea
-                // The tinymce registers a listener on the textarea
-                // See helper/tinyMCE.js for details
-                if(element.$element.hasClass('qfq-tinymce')) {
-                    element.$element.trigger("blur", [configurationItem]);
-                }
+                var element = $('[name="' + QfqNS.escapeJqueryIdSelector(formElementName) + '"]:not([type="hidden"])');
+                // checkboxes without being in form groups aren't triggered over dynamic update, we need to handle them separately.
+                // for checkboxes with itemList (multiple) we need the countElementArray to trigger the right box
+                if($(element).attr('type') !== undefined){
+                    if($(element).attr('type').toLowerCase() ==='checkbox'){
+                        if(element.length > 1 && element.length !== countElementArray){
+                            element = element[countElementArray];
+                            countElementArray++;
+                        }
+                        if (configurationItem.value !== undefined) {
+                            $(element).prop('checked',configurationItem.value);
+                        }
+                    }
+                }else {
+                    // For all other form-elements the general script is used.
+                    element = n.Element.getElement(formElementName);
+                    // Cleaner way to set states for tinymce
+                    // This triggers the event on the unaccesable textarea
+                    // The tinymce registers a listener on the textarea
+                    // See helper/tinyMCE.js for details
+                    if (element.$element.hasClass('qfq-tinymce')) {
+                        element.$element.trigger("blur", [configurationItem]);
+                    }
 
-                if (configurationItem.value !== undefined) {
-                    element.setValue(configurationItem.value);
-                }
+                    if (configurationItem.value !== undefined) {
+                        element.setValue(configurationItem.value);
+                    }
 
-                if (configurationItem.readonly !== undefined) {
-                    // Readonly and disabled is the same in our domain
-                    element.setEnabled(!configurationItem.readonly);
-                }
+                    if (configurationItem.readonly !== undefined) {
+                        // Readonly and disabled is the same in our domain
+                        element.setEnabled(!configurationItem.readonly);
+                    }
 
-                if (configurationItem.disabled !== undefined) {
-                    // Readonly and disabled is the same in our domain
-                    element.setEnabled(!configurationItem.disabled);
-                }
+                    if (configurationItem.disabled !== undefined) {
+                        // Readonly and disabled is the same in our domain
+                        element.setEnabled(!configurationItem.disabled);
+                    }
 
-                if (configurationItem.hidden !== undefined) {
-                    element.setHidden(configurationItem.hidden);
-                }
+                    if (configurationItem.hidden !== undefined) {
+                        element.setHidden(configurationItem.hidden);
+                    }
 
-                if (configurationItem.required !== undefined) {
-                    element.setRequired(configuration.required);
-                    if(element.$element) {
-                        if(element.$element.is("select")) {
-                            element.$element.prop('required', configurationItem.required);
-                            element.$element.attr('data-required', 'yes');
-                        }
-                        if(element.$element.is("input[type=hidden]")) {
-                            console.log("Update Hidden");
-                            element.$element.prop("required", configurationItem.required);
-                        }
+                    if (configurationItem.required !== undefined) {
+                        element.setRequired(configuration.required);
+                        if (element.$element) {
+                            if (element.$element.is("select")) {
+                                element.$element.prop('required', configurationItem.required);
+                                element.$element.attr('data-required', 'yes');
+                            }
+                            if (element.$element.is("input[type=hidden]")) {
+                                console.log("Update Hidden");
+                                element.$element.prop("required", configurationItem.required);
+                            }
 
+                        }
                     }
+                    countElementArray = 0;
                 }
             } catch (e) {
                 n.Log.error(e.message);