diff --git a/frontend/src/metabase/query_builder/components/view/ViewHeader.jsx b/frontend/src/metabase/query_builder/components/view/ViewHeader.jsx
index 34cfed53521c02757a048e28922cf1da5fc605ac..8e95b605ea196c9bb70be61ff44e63522432047f 100644
--- a/frontend/src/metabase/query_builder/components/view/ViewHeader.jsx
+++ b/frontend/src/metabase/query_builder/components/view/ViewHeader.jsx
@@ -398,8 +398,12 @@ function ViewTitleHeaderRightSide(props) {
     onCollapseFilters,
   } = props;
   const isShowingNotebook = queryBuilderMode === "notebook";
+  const canRunAdhocQueries = !question.query().readOnly();
   const hasExploreResultsLink =
-    isNative && isSaved && MetabaseSettings.get("enable-nested-queries");
+    isNative &&
+    isSaved &&
+    canRunAdhocQueries &&
+    MetabaseSettings.get("enable-nested-queries");
 
   return (
     <div
diff --git a/frontend/src/metabase/query_builder/components/view/ViewHeader.unit.spec.js b/frontend/src/metabase/query_builder/components/view/ViewHeader.unit.spec.js
index 484c7d8525560ffbadf139af5622d78073d3aed7..5dc6b109c7ac0f83dd8d45122d9c3d6236f65e1c 100644
--- a/frontend/src/metabase/query_builder/components/view/ViewHeader.unit.spec.js
+++ b/frontend/src/metabase/query_builder/components/view/ViewHeader.unit.spec.js
@@ -455,6 +455,29 @@ describe("View Header | Saved GUI question", () => {
   });
 });
 
+describe("View Header | native question without write permissions on database (eg user without self serve data permissions)", () => {
+  let originalNativePermissions;
+  beforeEach(() => {
+    setupNative();
+    originalNativePermissions = SAMPLE_DATABASE.native_permissions;
+    SAMPLE_DATABASE.native_permissions = "none";
+  });
+
+  afterEach(() => {
+    SAMPLE_DATABASE.native_permissions = originalNativePermissions;
+  });
+
+  it("does not display question database", () => {
+    const { question } = setupNative();
+    const databaseName = question.database().displayName();
+    expect(screen.queryByText(databaseName)).not.toBeInTheDocument();
+  });
+
+  it("does not offer to explore query results", () => {
+    expect(screen.queryByText("Explore results")).not.toBeInTheDocument();
+  });
+});
+
 describe("View Header | Not saved native question", () => {
   it("does not display question database", () => {
     const { question } = setupNative();