diff --git a/frontend/src/metabase-lib/types/utils/isa.js b/frontend/src/metabase-lib/types/utils/isa.js
index 9d2516a84fb587112d4daed4b43921706037ed66..a8deade29643139d43a7c63c6038c4234419b92c 100644
--- a/frontend/src/metabase-lib/types/utils/isa.js
+++ b/frontend/src/metabase-lib/types/utils/isa.js
@@ -90,10 +90,10 @@ export function getFieldType(field) {
     COORDINATE,
     FOREIGN_KEY,
     PRIMARY_KEY,
+    BOOLEAN,
     STRING,
     STRING_LIKE,
     NUMBER,
-    BOOLEAN,
   ]) {
     if (isFieldType(type, field)) {
       return type;
diff --git a/frontend/src/metabase-lib/types/utils/isa.unit.spec.js b/frontend/src/metabase-lib/types/utils/isa.unit.spec.js
index d9077d891fdb64590e5b62a501d69348cb43c99c..bb126c06661af9219856963065b91b294bf25c50 100644
--- a/frontend/src/metabase-lib/types/utils/isa.unit.spec.js
+++ b/frontend/src/metabase-lib/types/utils/isa.unit.spec.js
@@ -94,6 +94,15 @@ describe("isa", () => {
       ).toEqual(STRING);
     });
 
+    it("should know a bool regardless of semantic_type", () => {
+      expect(
+        getFieldType({
+          base_type: TYPE.Boolean,
+          semantic_type: TYPE.Category,
+        }),
+      ).toEqual(BOOLEAN);
+    });
+
     it("should know what it doesn't know", () => {
       expect(getFieldType({ base_type: "DERP DERP DERP" })).toEqual(undefined);
     });