diff --git a/src/components/views/right_panel/UserInfo.tsx b/src/components/views/right_panel/UserInfo.tsx
index d526bad94b1b017a50c9b2ef16f2adbf56d859b0..d03182caa0e0afde3339cb3a352586fd202d6c95 100644
--- a/src/components/views/right_panel/UserInfo.tsx
+++ b/src/components/views/right_panel/UserInfo.tsx
@@ -1710,7 +1710,6 @@ export const UserInfoHeader: React.FC<{
         withDisplayName: true,
     });
     const displayName = (member as RoomMember).rawDisplayName;
-    console.log("booop", timezoneInfo);
     return (
         <React.Fragment>
             <div className="mx_UserInfo_avatar">
@@ -1738,13 +1737,15 @@ export const UserInfoHeader: React.FC<{
                         </Flex>
                     </Heading>
                     {presenceLabel}
-                    {timezoneInfo && <Tooltip label={timezoneInfo?.timezone ?? ""}>
-                        <span className="mx_UserInfo_timezone">
-                            <Text size="sm" weight="regular">
-                                {timezoneInfo?.friendly ?? ""}
-                            </Text>
-                        </span>
-                    </Tooltip>}
+                    {timezoneInfo && (
+                        <Tooltip label={timezoneInfo?.timezone ?? ""}>
+                            <span className="mx_UserInfo_timezone">
+                                <Text size="sm" weight="regular">
+                                    {timezoneInfo?.friendly ?? ""}
+                                </Text>
+                            </span>
+                        </Tooltip>
+                    )}
                     <Text size="sm" weight="semibold" className="mx_UserInfo_profile_mxid">
                         <CopyableText getTextToCopy={() => userIdentifier} border={false}>
                             {userIdentifier}
diff --git a/test/components/views/right_panel/UserInfo-test.tsx b/test/components/views/right_panel/UserInfo-test.tsx
index 891d60b5012c3ada712707a032f8fb9acf7bb166..ff4514cdfcb0abbde621d28f9b01ca2c02903880 100644
--- a/test/components/views/right_panel/UserInfo-test.tsx
+++ b/test/components/views/right_panel/UserInfo-test.tsx
@@ -100,6 +100,7 @@ let mockRoom: Mocked<Room>;
 let mockSpace: Mocked<Room>;
 let mockClient: Mocked<MatrixClient>;
 let mockCrypto: Mocked<CryptoApi>;
+const origDate = global.Date.prototype.toLocaleString;
 
 beforeEach(() => {
     mockRoom = mocked({
@@ -240,10 +241,14 @@ describe("<UserInfo />", () => {
         });
 
         it("renders user timezone if set", async () => {
+            // For timezone, force a consistent locale.
+            jest.spyOn(global.Date.prototype, "toLocaleString").mockImplementation(function (_locale, opts) {
+                return origDate.call(this, "en-US", opts); // eslint-disable-line @typescript-eslint/no-invalid-this
+            });
             mockClient.doesServerSupportExtendedProfiles.mockResolvedValue(true);
             mockClient.getExtendedProfileProperty.mockResolvedValue("Europe/London");
             renderComponent();
-            await expect(screen.findByText(/\d\d:\d\d (am|pm)/)).resolves.toBeInTheDocument();
+            await expect(screen.findByText(/\d\d:\d\d (AM|PM)/)).resolves.toBeInTheDocument();
         });
 
         it("renders encryption info panel without pending verification", () => {