diff --git a/frontend/src/metabase-lib/queries/utils/drilldown.js b/frontend/src/metabase-lib/queries/utils/drilldown.js
index 3c7fff1af200fa6dc8726b5d306a1b64734f2455..643f8440a7824ef8a2317efc073587b80aa78a4f 100644
--- a/frontend/src/metabase-lib/queries/utils/drilldown.js
+++ b/frontend/src/metabase-lib/queries/utils/drilldown.js
@@ -449,7 +449,9 @@ function columnToFieldDimension(column, metadata) {
     return;
   }
 
-  const dimension = new FieldDimension(column.id, null, metadata);
+  const dimension = column.field_ref
+    ? FieldDimension.parseMBQL(column.field_ref, metadata)
+    : new FieldDimension(column.id, null, metadata);
 
   if (column.unit) {
     return dimension.withTemporalUnit(column.unit);
diff --git a/frontend/test/metabase/scenarios/joins/reproductions/27380-dashboard-drops-joined-fields-on-zoom-in.cy.spec.js b/frontend/test/metabase/scenarios/joins/reproductions/27380-dashboard-drops-joined-fields-on-zoom-in.cy.spec.js
index 983ee78c6f7b516cb736e39de79e76006d9d36f2..2d409a1fcd52e8eebd3d72d583018287c8f6419f 100644
--- a/frontend/test/metabase/scenarios/joins/reproductions/27380-dashboard-drops-joined-fields-on-zoom-in.cy.spec.js
+++ b/frontend/test/metabase/scenarios/joins/reproductions/27380-dashboard-drops-joined-fields-on-zoom-in.cy.spec.js
@@ -18,7 +18,7 @@ const questionDetails = {
   display: "line",
 };
 
-describe.skip("issue 27380", () => {
+describe("issue 27380", () => {
   beforeEach(() => {
     cy.intercept("POST", "/api/dataset").as("dataset");
 
@@ -40,10 +40,10 @@ describe.skip("issue 27380", () => {
 
     // Graph should still exist
     // Let's check only the y-axis label
-    cy.get("y-axis-label").invoke("text").should("eq", "Count");
+    cy.get(".y-axis-label").invoke("text").should("eq", "Count");
 
     cy.icon("notebook").click();
     cy.findByText("Pick a column to group by").should("not.exist");
-    cy.findByText(/Products? → Created At: Month/);
+    cy.findByText("Count by Product → Created At: Week");
   });
 });