diff --git a/.rubocop.yml b/.rubocop.yml
index 96d82be6ca532b2665c29cc59a695f9dd480e809..b6908154e5e2ff5e73595a184169298346d712b0 100644
--- a/.rubocop.yml
+++ b/.rubocop.yml
@@ -76,7 +76,7 @@ RSpec/AnyInstance:
   Enabled: false
 
 Metrics/CyclomaticComplexity:
-  Max: 13
+  Max: 14
 
 Metrics/PerceivedComplexity:
   Max: 13
diff --git a/app/services/permissions_checker.rb b/app/services/permissions_checker.rb
index 03e40aa416d75b0e31bf9ba20073418bb73242f5..cb169c7611ffcb76b3e48c5b87baec669f3b4deb 100644
--- a/app/services/permissions_checker.rb
+++ b/app/services/permissions_checker.rb
@@ -10,6 +10,8 @@ class PermissionsChecker
   end
 
   def call
+    return true if @current_user.role == Role.find_by(name: 'SuperAdmin', provider: 'bn')
+
     return true if RolePermission.joins(:permission).exists?(
       role_id: @current_user.role_id,
       permission: { name: @permission_names },
diff --git a/spec/services/permissions_checker_spec.rb b/spec/services/permissions_checker_spec.rb
index 20ff358955463d3447088b63fac5ee46fe1df0f6..21cb986b32c96d7313f0ff39333a0aa280415892 100644
--- a/spec/services/permissions_checker_spec.rb
+++ b/spec/services/permissions_checker_spec.rb
@@ -66,6 +66,18 @@ describe PermissionsChecker, type: :service do
           record_id: ''
         ).call).to be(true)
       end
+
+      it 'checks the users role and returns true since user has SuperAdmin role' do
+        super_admin_role = create(:role, name: 'SuperAdmin', provider: 'bn')
+        super_admin_user = create(:user, provider: 'bn', role: super_admin_role)
+        expect(described_class.new(
+          current_user: super_admin_user,
+          permission_names: [],
+          user_id: super_admin_user.id,
+          friendly_id: '',
+          record_id: ''
+        ).call).to be(true)
+      end
     end
   end
 end