diff --git a/frontend/src/metabase-lib/lib/queries/utils/native-query-table.ts b/frontend/src/metabase-lib/lib/queries/utils/native-query-table.ts
index effd43a60ecce2455d4c9c67d749768f040b4b21..a134de119b0073724b4b9d701edf1356df6f140b 100644
--- a/frontend/src/metabase-lib/lib/queries/utils/native-query-table.ts
+++ b/frontend/src/metabase-lib/lib/queries/utils/native-query-table.ts
@@ -7,7 +7,7 @@ import { getDatasetTable } from "./nested-card-query-table";
 
 export function getNativeQueryTable(nativeQuery: NativeQuery): Table | null {
   const question = nativeQuery.question();
-  const isDataset = question?.isDataset();
+  const isDataset = question?.isDataset() && question.isSaved();
 
   if (isDataset) {
     return getDatasetTable(nativeQuery);
diff --git a/frontend/src/metabase-lib/lib/queries/utils/structured-query-table.ts b/frontend/src/metabase-lib/lib/queries/utils/structured-query-table.ts
index e14467c38197754341e8d20dc4154bbce2d62854..d53a72aab31bb0cffbf5638fff431aa2f46fe294 100644
--- a/frontend/src/metabase-lib/lib/queries/utils/structured-query-table.ts
+++ b/frontend/src/metabase-lib/lib/queries/utils/structured-query-table.ts
@@ -20,15 +20,15 @@ export function getStructuredQueryTable(query: StructuredQuery): Table | null {
     return getNestedCardTable(query);
   }
 
-  // 3. The query's question is a dataset.
+  // 3. The query's question is a saved dataset.
   const question = query.question();
-  const isDataset = question?.isDataset() ?? false;
+  const isDataset = question?.isDataset() && question.isSaved();
   if (isDataset) {
     return getDatasetTable(query);
   }
 
   // 4. The query's table is a concrete table, assuming one exists in `metadata`.
-  // Faiure to find a table at this point indicates that there is a bug.
+  // Failure to find a table at this point indicates that there is a bug.
   return query.metadata().table(sourceTableId);
 }