diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/templates/collation/js/collation.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/templates/collation/js/collation.js
index eb12f40..eb331a4 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/templates/collation/js/collation.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/templates/collation/js/collation.js
@@ -108,7 +108,7 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {

             // Set schema default value to its parent Schema
             if(this.model.isNew()){
-            this.model.set({'schema': this.model.node_info.schema.label});
+              this.model.set({'schema': this.model.node_info.schema.label});
             }
             return this;
             }
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/__init__.py
index f57be2b..fbfc11d 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/__init__.py
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/__init__.py
@@ -16,7 +16,7 @@ from pgadmin.utils.ajax import make_json_response, \
     make_response as ajax_response, internal_server_error, gone
 from pgadmin.browser.utils import PGChildNodeView
 from pgadmin.browser.collection import CollectionNodeModule
-import pgadmin.browser.server_groups.servers.databases.schemas as schemas
+import pgadmin.browser.server_groups.servers.databases as databases
 from pgadmin.utils.ajax import precondition_required
 from pgadmin.utils.driver import get_driver
 from config import PG_DEFAULT_DRIVER
@@ -66,7 +66,7 @@ class DomainModule(SchemaChildModule):
         Load the module script for domain, when schema node is
         initialized.
         """
-        return schemas.SchemaModule.NODE_TYPE
+        return databases.DatabaseModule.NODE_TYPE


 blueprint = DomainModule(__name__)
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/templates/domains/js/domains.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/templates/domains/js/domains.js
index 3a4542f..b1d4e3e 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/templates/domains/js/domains.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/templates/domains/js/domains.js
@@ -115,7 +115,7 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
       collection_type: 'coll-domain',
       hasSQL: true,
       hasDepends: true,
-      parent_type: ['schema'],
+      parent_type: ['schema', 'catalog'],
       Init: function() {
         // Avoid mulitple registration of menus
         if (this.initialized)
@@ -292,10 +292,13 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
           type: 'collection', group: '{{ _('Constraints') }}', mode: ['edit', 'create'],
           model: ConstraintModel, canAdd: true, canDelete: true,
           canEdit: false, columns: ['conname','consrc', 'convalidated']
-         },{
+        },{
+          id: 'security', label: '{{ _("Security") }}',
+          type: 'group'
+        },{
           id: 'seclabels', label: '{{ _('Security Labels') }}',
           model: SecurityModel, type: 'collection',
-          group: '{{ _('Security') }}', mode: ['edit', 'create'],
+          group: '{{ _('security') }}', mode: ['edit', 'create'],
           min_version: 90100, canAdd: true,
           canEdit: false, canDelete: true,
           control: 'unique-col-collection', uniqueCol : ['provider']
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/__init__.py
index b969b2d..d1cec86 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/__init__.py
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/__init__.py
@@ -21,7 +21,7 @@ from pgadmin.utils.ajax import make_json_response, \
     make_response as ajax_response, internal_server_error, gone
 from pgadmin.browser.utils import PGChildNodeView
 from pgadmin.browser.collection import CollectionNodeModule
-import pgadmin.browser.server_groups.servers.databases.schemas as schemas
+import pgadmin.browser.server_groups.servers.databases as databases
 from pgadmin.utils.ajax import precondition_required
 from pgadmin.browser.server_groups.servers.databases.schemas.utils import \
     SchemaChildModule, DataTypeReader
@@ -80,7 +80,7 @@ class ForeignTableModule(SchemaChildModule):
         Load the module script for foreign table, when the
         schema node is initialized.
         """
-        return schemas.SchemaModule.NODE_TYPE
+        return databases.DatabaseModule.NODE_TYPE


 blueprint = ForeignTableModule(__name__)
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/js/foreign_tables.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/js/foreign_tables.js
index 2e730f8..70939a1 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/js/foreign_tables.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/js/foreign_tables.js
@@ -673,17 +673,20 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
           type: 'text', group: '{{ _('Security') }}',
           mode: ['properties'], min_version: 90200
         },{
+          id: 'security', label: '{{ _("Security") }}',
+          type: 'group'
+        },{
           id: 'acl', label: '{{ _('Privileges') }}', model: pgAdmin
           .Browser.Node.PrivilegeRoleModel.extend(
           {privileges: ['a','r','w','x']}), uniqueCol : ['grantee', 'grantor'],
-          editable: false, type: 'collection', group: '{{ _('Security') }}',
+          editable: false, type: 'collection', group: '{{ _('security') }}',
           mode: ['edit', 'create'],
           canAdd: true, canDelete: true, control: 'unique-col-collection',
           min_version: 90200
         },{
           id: 'seclabels', label: '{{ _('Security Labels') }}',
           model: SecurityModel, type: 'collection',
-          group: '{{ _('Security') }}', mode: ['edit', 'create'],
+          group: '{{ _('security') }}', mode: ['edit', 'create'],
           min_version: 90100, canAdd: true,
           canEdit: false, canDelete: true,
           control: 'unique-col-collection', uniqueCol : ['provider']
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_configurations/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_configurations/__init__.py
index ed78181..44b49c9 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_configurations/__init__.py
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_configurations/__init__.py
@@ -17,7 +17,7 @@ from pgadmin.utils.ajax import make_json_response, \
 from pgadmin.browser.utils import PGChildNodeView
 from pgadmin.browser.server_groups.servers.databases.schemas.utils \
     import SchemaChildModule
-import pgadmin.browser.server_groups.servers.databases.schemas as schemas
+import pgadmin.browser.server_groups.servers.databases as databases
 from pgadmin.utils.ajax import precondition_required
 from pgadmin.utils.driver import get_driver
 from config import PG_DEFAULT_DRIVER
@@ -79,7 +79,7 @@ class FtsConfigurationModule(SchemaChildModule):
         Load the module script for fts template, when any of the schema
         node is initialized.
         """
-        return schemas.SchemaModule.NODE_TYPE
+        return databases.DatabaseModule.NODE_TYPE

 blueprint = FtsConfigurationModule(__name__)

diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_configurations/templates/fts_configuration/js/fts_configuration.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_configurations/templates/fts_configuration/js/fts_configuration.js
index 42ed550..8383872 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_configurations/templates/fts_configuration/js/fts_configuration.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_configurations/templates/fts_configuration/js/fts_configuration.js
@@ -461,14 +461,12 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
         },
         initialize: function(attrs, args) {
           var isNew = (_.size(attrs) === 0);
+          pgAdmin.Browser.Node.Model.prototype.initialize.apply(this, arguments);

           if (isNew) {
             var userInfo = pgBrowser.serverInfo[args.node_info.server._id].user;
             this.set({'owner': userInfo.name}, {silent: true});
-          }
-          pgAdmin.Browser.Node.Model.prototype.initialize.apply(this, arguments);
-          if (_.isUndefined(this.get('schema'))) {
-              this.set('schema', this.node_info.schema._id);
+            this.set('schema', args.node_info.schema._id);
           }
         },
         // Defining schema for FTS Configuration
@@ -576,4 +574,4 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
   }

 return pgBrowser.Nodes['coll-fts_configuration'];
-});
\ No newline at end of file
+});
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_dictionaries/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_dictionaries/__init__.py
index 6c8c06d..0dbdb81 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_dictionaries/__init__.py
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_dictionaries/__init__.py
@@ -17,7 +17,7 @@ from pgadmin.utils.ajax import make_json_response, \
 from pgadmin.browser.utils import PGChildNodeView
 from pgadmin.browser.server_groups.servers.databases.schemas.utils \
     import SchemaChildModule
-import pgadmin.browser.server_groups.servers.databases.schemas as schemas
+import pgadmin.browser.server_groups.servers.databases as databases
 from pgadmin.utils.ajax import precondition_required
 from pgadmin.utils.driver import get_driver
 from config import PG_DEFAULT_DRIVER
@@ -78,7 +78,7 @@ class FtsDictionaryModule(SchemaChildModule):
         Load the module script for fts template, when any of the schema
         node is initialized.
         """
-        return schemas.SchemaModule.NODE_TYPE
+        return databases.DatabaseModule.NODE_TYPE


 blueprint = FtsDictionaryModule(__name__)
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_dictionaries/templates/fts_dictionary/js/fts_dictionary.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_dictionaries/templates/fts_dictionary/js/fts_dictionary.js
index 57b0520..2bfc98b 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_dictionaries/templates/fts_dictionary/js/fts_dictionary.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_dictionaries/templates/fts_dictionary/js/fts_dictionary.js
@@ -102,14 +102,12 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
         },
         initialize: function(attrs, args) {
           var isNew = (_.size(attrs) === 0);
+          pgAdmin.Browser.Node.Model.prototype.initialize.apply(this, arguments);

           if (isNew) {
             var userInfo = pgBrowser.serverInfo[args.node_info.server._id].user;
             this.set({'owner': userInfo.name}, {silent: true});
-          }
-          pgAdmin.Browser.Node.Model.prototype.initialize.apply(this, arguments);
-          if (_.isUndefined(this.get('schema'))) {
-              this.set('schema', this.node_info.schema._id);
+            this.set('schema', args.node_info.schema._id);
           }
         },
         // Defining schema for fts dictionary
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_parser/templates/fts_parser/js/fts_parser.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_parser/templates/fts_parser/js/fts_parser.js
index fa541e3..832800a 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_parser/templates/fts_parser/js/fts_parser.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_parser/templates/fts_parser/js/fts_parser.js
@@ -68,13 +68,14 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
           prslextype: undefined,    // Lextype function for fts parser
           prsheadline: undefined    // Headline function for fts parse
         },
-        initialize: function() {
-            pgAdmin.Browser.Node.Model.prototype.initialize.apply(this,
-                                                                arguments
-                                                            );
-            if (_.isUndefined(this.get('schema'))) {
-                this.set('schema', this.node_info.schema._id);
-            }
+        initialize: function(attrs, args) {
+          var isNew = (_.size(attrs) === 0);
+          pgAdmin.Browser.Node.Model.prototype.initialize.apply(this,
+                                                              arguments
+                                                          );
+          if (isNew) {
+            this.set('schema', args.node_info.schema._id);
+          }
         },
         // Defining schema for fts parser
         schema: [{
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_templates/templates/fts_template/js/fts_templates.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_templates/templates/fts_template/js/fts_templates.js
index 4b0e449..9d2d0d4 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_templates/templates/fts_template/js/fts_templates.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_templates/templates/fts_template/js/fts_templates.js
@@ -63,11 +63,12 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
           tmplinit: undefined,      // Init function for fts template
           tmpllexize: undefined     // Lexize function for fts template
         },
-        initialize: function() {
-            pgAdmin.Browser.Node.Model.prototype.initialize.apply(this, arguments);
-            if (_.isUndefined(this.get('schema'))) {
-                this.set('schema', this.node_info.schema._id);
-            }
+        initialize: function(attrs, args) {
+          var isNew = (_.size(attrs) === 0);
+          pgAdmin.Browser.Node.Model.prototype.initialize.apply(this, arguments);
+          if (isNew) {
+            this.set('schema', args.node_info.schema._id);
+          }
         },
         // Defining schema for fts template
         schema: [{
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/__init__.py
index fc4645a..410b87a 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/__init__.py
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/__init__.py
@@ -22,7 +22,7 @@ from pgadmin.utils.ajax import make_json_response, \
     make_response as ajax_response, internal_server_error, gone
 from pgadmin.browser.utils import PGChildNodeView
 from pgadmin.browser.collection import CollectionNodeModule
-import pgadmin.browser.server_groups.servers.databases.schemas as schemas
+import pgadmin.browser.server_groups.servers.databases as databases
 from pgadmin.utils.ajax import precondition_required
 from pgadmin.utils.driver import get_driver
 from pgadmin.browser.server_groups.servers.utils import parse_priv_from_db, \
@@ -95,7 +95,7 @@ class FunctionModule(SchemaChildModule):
         Load the module script for Functions, when the
         schema node is initialized.
         """
-        return schemas.SchemaModule.NODE_TYPE
+        return databases.DatabaseModule.NODE_TYPE

     @property
     def csssnippets(self):
@@ -1351,9 +1351,9 @@ class ProcedureModule(SchemaChildModule):
     def script_load(self):
         """
         Load the module script for Procedures, when the
-        schema node is initialized.
+        database node is initialized.
         """
-        return schemas.SchemaModule.NODE_TYPE
+        return databases.DatabaseModule.NODE_TYPE


 procedure_blueprint = ProcedureModule(__name__)
@@ -1463,7 +1463,7 @@ class TriggerFunctionModule(SchemaChildModule):
         Load the module script for Trigger function, when the
         schema node is initialized.
         """
-        return schemas.SchemaModule.NODE_TYPE
+        return databases.DatabaseModule.NODE_TYPE


 trigger_function_blueprint = TriggerFunctionModule(__name__)
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/function/js/functions.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/function/js/functions.js
index 39a7bc5..79ca0a9 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/function/js/functions.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/function/js/functions.js
@@ -323,11 +323,14 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
           model: pgAdmin.Browser.Node.VariableModel,
           mode: ['edit', 'create'], canAdd: 'canVarAdd', canEdit: false,
           canDelete: true, disabled: 'isDisabled'
-         },{
+        },{
+          id: 'security', label: '{{ _("Security") }}',
+          type: 'group'
+        },{
           id: 'acl', label: '{{ _('Privileges') }}', model: pgAdmin
           .Browser.Node.PrivilegeRoleModel.extend(
             {privileges: ['X']}), uniqueCol : ['grantee', 'grantor'],
-          editable: false, type: 'collection', group: '{{ _('Security') }}',
+          editable: false, type: 'collection', group: '{{ _('security') }}',
           mode: ['edit', 'create'],
           canAdd: true, canDelete: true, control: 'unique-col-collection',
           disabled: 'isDisabled'
@@ -335,7 +338,7 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
         {
           id: 'seclabels', label: '{{ _('Security Labels') }}',
           model: SecurityModel, type: 'collection',
-          group: '{{ _('Security') }}', mode: ['edit', 'create'],
+          group: '{{ _('security') }}', mode: ['edit', 'create'],
           min_version: 90100, canAdd: true,
           canEdit: true, canDelete: true,
           control: 'unique-col-collection', uniqueCol : ['provider'],
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/procedure/js/procedures.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/procedure/js/procedures.js
index d2a1bea..8fe0a5a 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/procedure/js/procedures.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/procedure/js/procedures.js
@@ -30,7 +30,7 @@ function($, _, S, pgAdmin, pgBrowser, alertify, Function) {
       hasSQL: true,
       hasDepends: true,
       hasScriptTypes: ['create', 'exec'],
-      parent_type: ['schema'],
+      parent_type: ['schema', 'catalog'],
       Init: function() {
         /* Avoid mulitple registration of menus */
         if (this.proc_initialized)
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/templates/sequence/js/sequence.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/templates/sequence/js/sequence.js
index d070f2b..3e30401 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/templates/sequence/js/sequence.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/templates/sequence/js/sequence.js
@@ -58,7 +58,7 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
       collection_type: 'coll-sequence',
       hasSQL: true,
       hasDepends: true,
-      parent_type: ['schema'],
+      parent_type: ['schema', 'catalog'],
       Init: function() {
         /* Avoid mulitple registration of menus */
         if (this.initialized)
@@ -203,17 +203,20 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
             'size': 'small'
           }
         },{
+          id: 'security', label: '{{ _("Security") }}',
+          type: 'group'
+        },{
           id: 'acl', label: '{{ _('Privileges') }}', type: 'text',
-          group: '{{ _('Security') }}', mode: ['properties'], disabled: true
+          group: '{{ _('security') }}', mode: ['properties'], disabled: true
         },{
           id: 'relacl', label: '{{ _('Privileges') }}', model: pgAdmin.Browser.Node.PrivilegeRoleModel.extend(
             {privileges: ['r', 'w', 'U']}), uniqueCol : ['grantee', 'grantor'],
-          editable: false, type: 'collection', group: '{{ _('Security') }}', mode: ['edit', 'create'],
+          editable: false, type: 'collection', group: '{{ _('security') }}', mode: ['edit', 'create'],
           canAdd: true, canDelete: true, control: 'unique-col-collection',
         },{
           id: 'securities', label: '{{ _('Securitiy Labels') }}', model: SecurityModel,
           editable: false, type: 'collection', canEdit: false,
-          group: '{{ _('Security') }}', canDelete: true,
+          group: '{{ _('security') }}', canDelete: true,
           mode: ['edit', 'create'], canAdd: true,
           control: 'unique-col-collection', uniqueCol : ['provider'],
           min_version: 90200
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/rules/templates/rules/js/rules.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/rules/templates/rules/js/rules.js
index 1d00a38..437ab72 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/rules/templates/rules/js/rules.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/rules/templates/rules/js/rules.js
@@ -215,6 +215,11 @@ function($, _, S, pgAdmin, pgBrowser, CodeMirror) {
         // To iterate over tree to check parent node
         while (i) {

+          // if it is catalog then don't allow user to create rule
+          if (_.indexOf(['catalog'], d._type) > -1) {
+            return false;
+          }
+
           // If it is schema then allow user to create rule
           if (_.indexOf(['schema'], d._type) > -1)
             return true;
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/table/js/table.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/table/js/table.js
index 3c3da63..b6e3a44 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/table/js/table.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/table/js/table.js
@@ -712,12 +712,15 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
           mode: ['edit', 'create'],
           schema: Backform.VacuumSettingsSchema
         },{
+          id: 'security', label: '{{ _("Security") }}',
+          type: 'group'
+        },{
           id: 'relacl_str', label:'{{ _('Privileges') }}', cell: 'string',
-          type: 'text', mode: ['properties'], group: '{{ _('Security') }}',
+          type: 'text', mode: ['properties'], group: '{{ _('security') }}',
           disabled: 'inSchema'
         },{
           id: 'relacl', label: 'Privileges', type: 'collection',
-          group: '{{ _('Security') }}', control: 'unique-col-collection',
+          group: '{{ _('security') }}', control: 'unique-col-collection',
           model: pgAdmin.Browser.Node.PrivilegeRoleModel.extend({
           privileges: ['a','r','w','d','D','x','t']}),
           mode: ['edit', 'create'], canAdd: true, canDelete: true,
@@ -725,7 +728,7 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
         },{
           id: 'seclabels', label: '{{ _('Security labels') }}',
           model: pgAdmin.Browser.SecurityModel, editable: false, type: 'collection',
-          group: '{{ _('Security') }}', mode: ['edit', 'create'],
+          group: '{{ _('security') }}', mode: ['edit', 'create'],
           min_version: 90100, canAdd: true,
           canEdit: false, canDelete: true, control: 'unique-col-collection'
         },{
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/types/templates/type/js/type.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/types/templates/type/js/type.js
index c91bdf5..38a8ccc 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/types/templates/type/js/type.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/types/templates/type/js/type.js
@@ -747,8 +747,11 @@ function($, _, S, pgAdmin, pgBrowser, alertify, Backgrid) {
           type: 'text', mode: ['properties'],
           disabled: 'inSchema'
         },{
+          id: 'security', label: '{{ _("Security") }}',
+          type: 'group'
+        },{
           id: 'type_acl', label:'{{ _('Privileges') }}', cell: 'string',
-          type: 'text', mode: ['properties'], group: '{{ _('Security') }}',
+          type: 'text', mode: ['properties'], group: '{{ _('security') }}',
           disabled: 'inSchema'
         },{
           id: 'member_list', label:'{{ _('Members') }}', cell: 'string',
@@ -778,7 +781,7 @@ function($, _, S, pgAdmin, pgBrowser, alertify, Backgrid) {
           disabled: 'inSchema'
         },{
           id: 'typacl', label: 'Privileges', type: 'collection',
-          group: '{{ _('Security') }}', control: 'unique-col-collection',
+          group: '{{ _('security') }}', control: 'unique-col-collection',
           model: pgAdmin.Browser.Node.PrivilegeRoleModel.extend({privileges: ['U']}),
           mode: ['edit', 'create'], canDelete: true,
           uniqueCol : ['grantee'], deps: ['typtype'],
@@ -789,7 +792,7 @@ function($, _, S, pgAdmin, pgBrowser, alertify, Backgrid) {
         },{
           id: 'seclabels', label: '{{ _('Security Labels') }}',
           model: SecurityModel, editable: false, type: 'collection',
-          group: '{{ _('Security') }}', mode: ['edit', 'create'],
+          group: '{{ _('security') }}', mode: ['edit', 'create'],
           min_version: 90100, canEdit: false, canDelete: true,
           control: 'unique-col-collection', deps: ['typtype'],
           canAdd: function(m) {
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mview/js/mview.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mview/js/mview.js
index f47e5b1..d8c57ed 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mview/js/mview.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mview/js/mview.js
@@ -174,12 +174,16 @@ function($, _, S, pgAdmin, alertify, pgBrowser, CodeMirror) {
           group: '{{ _("Auto vacuum") }}',
           schema: Backform.VacuumSettingsSchema
         },
+        {
+          id: 'security', label: '{{ _("Security") }}',
+          type: 'group'
+        },
         // Add Privilege Control
         {
           id: 'datacl', label: '{{ _("Privileges") }}',
           model: pgAdmin.Browser.Node.PrivilegeRoleModel.extend(
             {privileges: ['a', 'r', 'w', 'd', 'D', 'x', 't']}), uniqueCol : ['grantee'],
-          editable: false, type: 'collection', group: '{{ _("Security") }}',
+          editable: false, type: 'collection', group: '{{ _("security") }}',
           mode: ['edit', 'create'], canAdd: true, canDelete: true,
           control: 'unique-col-collection', priority: 3
         },
@@ -188,7 +192,7 @@ function($, _, S, pgAdmin, alertify, pgBrowser, CodeMirror) {
         {
           id: 'seclabels', label: '{{ _("Security Labels") }}',
           model: Backform.SecurityModel, editable: false, type: 'collection',
-          canEdit: false, group: '{{ _("Security") }}', canDelete: true,
+          canEdit: false, group: '{{ _("security") }}', canDelete: true,
           mode: ['edit', 'create'], canAdd: true,
           control: 'unique-col-collection', uniqueCol : ['provider']
         }
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/view/js/view.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/view/js/view.js
index 745afb5..7b369a0 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/view/js/view.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/view/js/view.js
@@ -158,13 +158,7 @@ function($, _, S, pgAdmin, pgBrowser, CodeMirror) {
         },
         {
           id: 'security', label: '{{ _("Security") }}',
-          type: 'group',
-          visible: function(m) {
-            if (m.top && 'catalog' in m.top.node_info) {
-              return false;
-            }
-            return true;
-          }
+          type: 'group'
         },

         // Add Privilege Control
diff --git a/web/pgadmin/static/js/backform.pgadmin.js b/web/pgadmin/static/js/backform.pgadmin.js
index 055e764..3db1627 100644
--- a/web/pgadmin/static/js/backform.pgadmin.js
+++ b/web/pgadmin/static/js/backform.pgadmin.js
@@ -1668,10 +1668,19 @@
                (server_info.version <= s.max_version)))),
               visible = true;

-          if (s.mode && _.isObject(s.mode))
+          if (s.mode && _.isObject(s.mode)) {
             visible = (_.indexOf(s.mode, mode) > -1);
-          if (visible)
+          }
+
+          if (visible) {
             visible = evalASFunc(s.visible);
+          }
+
+          // if control type is group and is listed under catalog
+          // don't show the control
+          if (proto.top && 'catalog' in proto.top.node_info) {
+            visible = false;
+          }

           groupInfo[s.id] = {
             label: s.label || s.id,
