diff --git a/e2e/test/scenarios/permissions/view-data.cy.spec.js b/e2e/test/scenarios/permissions/view-data.cy.spec.js
index 5b52028664b1d1fb5dc390323492e3efeec6fa61..db20787026f2513b877e231dc3c64f54063ccc94 100644
--- a/e2e/test/scenarios/permissions/view-data.cy.spec.js
+++ b/e2e/test/scenarios/permissions/view-data.cy.spec.js
@@ -68,7 +68,7 @@ describeEE("scenarios > admin > permissions > view data > blocked", () => {
 
     cy.findByRole("tooltip")
       .findByText(
-        /Users in groups with Blocked on a table can't view native queries on this database/,
+        /Groups with a database, schema, or table set to Blocked can't view native queries on this database/,
       )
       .should("exist");
 
diff --git a/frontend/src/metabase/admin/permissions/selectors/confirmations.tsx b/frontend/src/metabase/admin/permissions/selectors/confirmations.tsx
index 44bf8539d7043ec20d3c3ae89f4fae909b947447..668f39900a7626f7420828e3da9d14b020506ba3 100644
--- a/frontend/src/metabase/admin/permissions/selectors/confirmations.tsx
+++ b/frontend/src/metabase/admin/permissions/selectors/confirmations.tsx
@@ -90,7 +90,7 @@ export function getPermissionWarning(
   return null;
 }
 
-export function getTableBlockWarning(
+export function getBlockWarning(
   dbValue: DataPermissionValue,
   schemaValue: DataPermissionValue,
   tableValue?: DataPermissionValue,
@@ -99,12 +99,11 @@ export function getTableBlockWarning(
     return;
   }
 
-  if (schemaValue === DataPermissionValue.BLOCKED) {
-    return t`Users in groups with Blocked on a schema can't view native queries on this database.`;
-  }
-
-  if (tableValue === DataPermissionValue.BLOCKED) {
-    return t`Users in groups with Blocked on a table can't view native queries on this database.`;
+  if (
+    schemaValue === DataPermissionValue.BLOCKED ||
+    tableValue === DataPermissionValue.BLOCKED
+  ) {
+    return t`Groups with a database, schema, or table set to Blocked can't view native queries on this database.`;
   }
 }
 
diff --git a/frontend/src/metabase/admin/permissions/selectors/data-permissions/fields.ts b/frontend/src/metabase/admin/permissions/selectors/data-permissions/fields.ts
index d3f535aee1cf35aa448986c78f576d0d07d604e2..ce583048a80730e8fc9e704bea5a4413d890cbee 100644
--- a/frontend/src/metabase/admin/permissions/selectors/data-permissions/fields.ts
+++ b/frontend/src/metabase/admin/permissions/selectors/data-permissions/fields.ts
@@ -26,10 +26,10 @@ import {
   DataPermissionValue,
 } from "../../types";
 import {
+  getBlockWarning,
   getPermissionWarning,
   getPermissionWarningModal,
   getRevokingAccessToAllTablesWarningModal,
-  getTableBlockWarning,
   getWillRevokeNativeAccessWarningModal,
 } from "../confirmations";
 
@@ -64,14 +64,14 @@ const buildAccessPermission = (
   );
 
   const dbValue = getSchemasPermission(
-    originalPermissions,
+    permissions,
     groupId,
     entityId,
     DataPermission.VIEW_DATA,
   );
 
   const schemaValue = getTablesPermission(
-    originalPermissions,
+    permissions,
     groupId,
     entityId,
     DataPermission.VIEW_DATA,
@@ -85,8 +85,9 @@ const buildAccessPermission = (
     groupId,
   );
 
-  const blockWarning = getTableBlockWarning(dbValue, schemaValue, value);
+  const blockWarning = getBlockWarning(dbValue, schemaValue, value);
 
+  // permissionWarning should always trump a blockWarning
   const warning = permissionWarning || blockWarning;
 
   const confirmations = (newValue: DataPermissionValue) => [
diff --git a/frontend/src/metabase/admin/permissions/selectors/data-permissions/tables.ts b/frontend/src/metabase/admin/permissions/selectors/data-permissions/tables.ts
index 421601303873a3653a8ceecac67d3da0c2714edb..e6b279da93212ab454fd2d2f027bf6ad838e7de0 100644
--- a/frontend/src/metabase/admin/permissions/selectors/data-permissions/tables.ts
+++ b/frontend/src/metabase/admin/permissions/selectors/data-permissions/tables.ts
@@ -23,9 +23,9 @@ import {
   DataPermissionValue,
 } from "../../types";
 import {
+  getBlockWarning,
   getPermissionWarning,
   getPermissionWarningModal,
-  getTableBlockWarning,
   getViewDataPermissionsTooRestrictiveWarningModal,
   getWillRevokeNativeAccessWarningModal,
 } from "../confirmations";
@@ -60,7 +60,7 @@ const buildAccessPermission = (
   );
 
   const dbValue = getSchemasPermission(
-    originalPermissions,
+    permissions,
     groupId,
     entityId,
     DataPermission.VIEW_DATA,
@@ -74,8 +74,9 @@ const buildAccessPermission = (
     groupId,
   );
 
-  const blockWarning = getTableBlockWarning(dbValue, value);
+  const blockWarning = getBlockWarning(dbValue, value);
 
+  // permissionWarning should always trump a blockWarning
   const warning = permissionWarning || blockWarning;
 
   const confirmations = (newValue: DataPermissionValue) => [