diff --git a/web/pgadmin/static/js/backform.pgadmin.js b/web/pgadmin/static/js/backform.pgadmin.js
index e30a278..263c6a9 100644
--- a/web/pgadmin/static/js/backform.pgadmin.js
+++ b/web/pgadmin/static/js/backform.pgadmin.js
@@ -1606,13 +1606,18 @@
               (_.isUndefined(s.min_version) ? true :
                (server_info.version >= s.min_version)) &&
               (_.isUndefined(s.max_version) ? true :
-               (server_info.version <= s.max_version))));
+               (server_info.version <= s.max_version)))),
+              visible = true;
+
+          if (s.mode && _.isObject(s.mode))
+            visible = (_.indexOf(s.mode, mode) > -1);
+          if (visible)
+            visible = evalASFunc(s.visible);
+
           groupInfo[s.id] = {
             label: s.label || s.id,
             version_compatible: ver_in_limit,
-            visible: !s.mode || (
-              s && s.mode && _.isObject(s.mode) &&
-                _.indexOf(s.mode, mode) != -1) && evalASFunc(s.visible) || true
+            visible: visible
           };
           return;
         }
@@ -1706,9 +1711,13 @@
       // Create an array from the dictionary with proper required
       // structure.
       _.each(groups, function(val, key) {
-        fields.push(_.extend({
-          label: key, fields: val
-        }, (groupInfo[key] || {version_compatible: true, visible: true})));
+        fields.push(
+          _.extend(
+            _.defaults(
+              groupInfo[key] || {label: key},
+              {version_compatible: true, visible: true}
+            ), {fields: val})
+          );
       });
     }
 
