diff --git a/src/vitis/client/javascript/externs/mapJSON/MapJSON.js b/src/vitis/client/javascript/externs/mapJSON/MapJSON.js
index 0d98c0487f4de44920d87be6070a95f0702f16da..1f631eb3536f9f76a3bd0b8a29c2a790df270b98 100755
--- a/src/vitis/client/javascript/externs/mapJSON/MapJSON.js
+++ b/src/vitis/client/javascript/externs/mapJSON/MapJSON.js
@@ -597,8 +597,11 @@ MapJSON.prototype.getLayerFromLayerDef_ = function (oMapDefinition, oLayerDef, o
     }
     if (goog.isDefAndNotNull(oLayerDef['is_filtered'])) {
         if (goog.isDefAndNotNull(oLayerDef['filter_form'])) {
-            if (goog.isString(oLayerDef['filter_form']) && oLayerDef['filter_form'].length !== 0) {
-                oLayerDef['filter_form'] = JSON.parse(oLayerDef['filter_form']);
+            if ((goog.isString(oLayerDef['filter_form']) && oLayerDef['filter_form'].length !== 0) ||
+                goog.isObject(oLayerDef['filter_form'])) {
+                if (goog.isString(oLayerDef['filter_form'])) {
+                    oLayerDef['filter_form'] = JSON.parse(oLayerDef['filter_form']);
+                }
                 oLayerDef['filter_values'] = this.getFilterFormValues_(oLayerDef['filter_form']);
                 layer.set('filter_form', oLayerDef['filter_form']);
                 layer.set('filter_form_embedjs', oLayerDef['filter_form_embedjs']);