diff --git a/frontend/src/metabase/lib/query/aggregation.js b/frontend/src/metabase/lib/query/aggregation.js
index 8edb052ed552496589a4bb11693dc1f1fb023ea9..db200c72a1788a84c16e4c52eefcc75e00ffce70 100644
--- a/frontend/src/metabase/lib/query/aggregation.js
+++ b/frontend/src/metabase/lib/query/aggregation.js
@@ -136,7 +136,7 @@ export function setName(
   return [
     "aggregation-options",
     getContent(aggregation),
-    { "display-name": name, ...getOptions(aggregation) },
+    { name, "display-name": name, ...getOptions(aggregation) },
   ];
 }
 export function setContent(
diff --git a/frontend/test/metabase/lib/query/aggregation.unit.spec.js b/frontend/test/metabase/lib/query/aggregation.unit.spec.js
index d71812135033a4e85846638d215b102a973efa72..0e723b8f050ecc457317576567fe3c7264e17bd1 100644
--- a/frontend/test/metabase/lib/query/aggregation.unit.spec.js
+++ b/frontend/test/metabase/lib/query/aggregation.unit.spec.js
@@ -1,4 +1,4 @@
-import { getName } from "metabase/lib/query/aggregation";
+import { getName, setName } from "metabase/lib/query/aggregation";
 
 describe("getName", () => {
   it("should work with blank display name", () => {
@@ -8,3 +8,15 @@ describe("getName", () => {
     );
   });
 });
+
+describe("setName", () => {
+  it("should set the name and display-name", () => {
+    const expr = ["*", ["count"], 2];
+    const aggregation = ["aggregation-options", ["*", ["count"], 2], null];
+    expect(setName(aggregation, "DoubleCount")).toEqual([
+      "aggregation-options",
+      expr,
+      { "display-name": "DoubleCount", name: "DoubleCount" },
+    ]);
+  });
+});
diff --git a/frontend/test/metabase/scenarios/question/custom_column.cy.spec.js b/frontend/test/metabase/scenarios/question/custom_column.cy.spec.js
index 240cd7ffc0b7ab2bc5cefffd2b5e32f054048991..3838990f5a3f2594b3606de1633c0e4c46f45084 100644
--- a/frontend/test/metabase/scenarios/question/custom_column.cy.spec.js
+++ b/frontend/test/metabase/scenarios/question/custom_column.cy.spec.js
@@ -207,7 +207,7 @@ describe("scenarios > question > custom columns", () => {
       });
   });
 
-  it.skip("should be able to use custom expression after aggregation (metabase#13857)", () => {
+  it("should be able to use custom expression after aggregation (metabase#13857)", () => {
     const CE_NAME = "13857_CE";
     const CC_NAME = "13857_CC";
 
@@ -221,7 +221,11 @@ describe("scenarios > question > custom columns", () => {
         },
         "source-query": {
           aggregation: [
-            ["aggregation-options", ["*", 1, 1], { "display-name": CE_NAME }],
+            [
+              "aggregation-options",
+              ["*", 1, 1],
+              { name: CE_NAME, "display-name": CE_NAME },
+            ],
           ],
           breakout: [
             ["datetime-field", ["field-id", ORDERS.CREATED_AT], "month"],
diff --git a/frontend/test/metabase/scenarios/question/filter.cy.spec.js b/frontend/test/metabase/scenarios/question/filter.cy.spec.js
index 197379504eddab7fa4a6a81a6a523a09be20bb7c..4d4b21a15386eda8bdb1992ddcd9a608138d8b5a 100644
--- a/frontend/test/metabase/scenarios/question/filter.cy.spec.js
+++ b/frontend/test/metabase/scenarios/question/filter.cy.spec.js
@@ -301,7 +301,7 @@ describe("scenarios > question > filter", () => {
     cy.findAllByText("Fantastic Wool Shirt").should("not.exist");
   });
 
-  it.skip("should filter using Custom Expression from aggregated results (metabase#12839)", () => {
+  it("should filter using Custom Expression from aggregated results (metabase#12839)", () => {
     const CE_NAME = "Simple Math";
 
     cy.createQuestion({
@@ -310,7 +310,11 @@ describe("scenarios > question > filter", () => {
         filter: [">", ["field", CE_NAME, { "base-type": "type/Float" }], 0],
         "source-query": {
           aggregation: [
-            ["aggregation-options", ["+", 1, 1], { "display-name": CE_NAME }],
+            [
+              "aggregation-options",
+              ["+", 1, 1],
+              { name: CE_NAME, "display-name": CE_NAME },
+            ],
           ],
           breakout: [["field", PRODUCTS.CATEGORY, null]],
           "source-table": PRODUCTS_ID,
diff --git a/frontend/test/metabase/scenarios/question/notebook.cy.spec.js b/frontend/test/metabase/scenarios/question/notebook.cy.spec.js
index 1d58a6068958f3cb413f44318e680c1115713d05..2e2ebb7288397806faba7fb5988c176be2f3b7e1 100644
--- a/frontend/test/metabase/scenarios/question/notebook.cy.spec.js
+++ b/frontend/test/metabase/scenarios/question/notebook.cy.spec.js
@@ -456,7 +456,7 @@ describe("scenarios > question > notebook", () => {
       });
     });
 
-    it.skip("should be able to do subsequent aggregation on a custom expression (metabase#14649)", () => {
+    it("should be able to do subsequent aggregation on a custom expression (metabase#14649)", () => {
       cy.createQuestion({
         name: "14649_min",
         query: {
@@ -466,7 +466,7 @@ describe("scenarios > question > notebook", () => {
               [
                 "aggregation-options",
                 ["sum", ["field", ORDERS.SUBTOTAL, null]],
-                { "display-name": "Revenue" },
+                { name: "Revenue", "display-name": "Revenue" },
               ],
             ],
             breakout: [