diff --git a/e2e/test/scenarios/admin/databases/reproductions/33035-group-translations.cy.spec.js b/e2e/test/scenarios/admin/databases/reproductions/33035-group-translations.cy.spec.js
new file mode 100644
index 0000000000000000000000000000000000000000..bfb2d7bc3ffb93345d65098be895e2dac77bf2fc
--- /dev/null
+++ b/e2e/test/scenarios/admin/databases/reproductions/33035-group-translations.cy.spec.js
@@ -0,0 +1,17 @@
+import { restore } from "e2e/support/helpers";
+import { SAMPLE_DB_ID } from "e2e/support/cypress_data";
+
+describe("issue 33035", () => {
+  beforeEach(() => {
+    restore();
+    cy.signInAsAdmin();
+    cy.request("GET", "/api/user/current").then(({ body: { id: user_id } }) => {
+      cy.request("PUT", `/api/user/${user_id}`, { locale: "de" });
+    });
+  });
+
+  it("databases page should work in a non-default locale (metabase#33035)", () => {
+    cy.visit(`/admin/permissions/data/database/${SAMPLE_DB_ID}`);
+    cy.findByRole("main").findByText("Orders").should("be.visible");
+  });
+});
diff --git a/frontend/src/metabase/admin/permissions/selectors/data-permissions/group-sidebar.ts b/frontend/src/metabase/admin/permissions/selectors/data-permissions/group-sidebar.ts
index 06aac8b0f3dddfcb64ab5112714b808958374c60..6cb92d7eb0e214c871cc14bd70e32460507bb3ff 100644
--- a/frontend/src/metabase/admin/permissions/selectors/data-permissions/group-sidebar.ts
+++ b/frontend/src/metabase/admin/permissions/selectors/data-permissions/group-sidebar.ts
@@ -3,6 +3,7 @@ import { t } from "ttag";
 
 import { State } from "metabase-types/store";
 import { Group } from "metabase-types/api";
+import { getGroupNameLocalized } from "metabase/lib/groups";
 import { RawGroupRouteParams } from "../../types";
 import { getOrderedGroups } from "./groups";
 
@@ -28,11 +29,13 @@ export const getGroupsSidebar = createSelector(
 
     const pinnedGroupItems = pinnedGroups.map(group => ({
       ...group,
+      name: getGroupNameLocalized(group),
       icon: "bolt",
     }));
 
     const unpinnedGroupItems = unpinnedGroups.map(group => ({
       ...group,
+      name: getGroupNameLocalized(group),
       icon: "group",
     }));
 
diff --git a/frontend/src/metabase/admin/permissions/selectors/data-permissions/groups.ts b/frontend/src/metabase/admin/permissions/selectors/data-permissions/groups.ts
index a92bf4d276e4f16e67d7faedb3af21485f2ecc41..eb3daf7bf8c56bb80258eb4706d497a1c202ad8e 100644
--- a/frontend/src/metabase/admin/permissions/selectors/data-permissions/groups.ts
+++ b/frontend/src/metabase/admin/permissions/selectors/data-permissions/groups.ts
@@ -1,14 +1,9 @@
 import { createSelector } from "@reduxjs/toolkit";
 import _ from "underscore";
-import { assoc } from "icepick";
 
 import Groups from "metabase/entities/groups";
 import { Group } from "metabase-types/api";
-import {
-  getGroupNameLocalized,
-  isAdminGroup,
-  isDefaultGroup,
-} from "metabase/lib/groups";
+import { isAdminGroup, isDefaultGroup } from "metabase/lib/groups";
 
 const isPinnedGroup = (group: Group) =>
   isAdminGroup(group) || isDefaultGroup(group);
@@ -16,10 +11,7 @@ const isPinnedGroup = (group: Group) =>
 export const getOrderedGroups = createSelector(
   Groups.selectors.getList,
   (groups: Group[]) => {
-    const translatedGroups = groups.map(group =>
-      assoc(group, "name", getGroupNameLocalized(group)),
-    );
-    return _.partition(translatedGroups, isPinnedGroup);
+    return _.partition(groups, isPinnedGroup);
   },
 );