diff --git a/res/css/views/elements/_ImageView.scss b/res/css/views/elements/_ImageView.scss
index 6510cc2ec6..0f230f0f61 100644
--- a/res/css/views/elements/_ImageView.scss
+++ b/res/css/views/elements/_ImageView.scss
@@ -18,6 +18,10 @@ $button-size: 32px;
 $icon-size: 22px;
 $button-gap: 24px;
 
+:root {
+    --image-view-panel-height: 68px;
+}
+
 .mx_ImageView {
     display: flex;
     width: 100%;
@@ -40,7 +44,7 @@ $button-gap: 24px;
 
 .mx_ImageView_panel {
     width: 100%;
-    height: 68px;
+    height: var(--image-view-panel-height);
     display: flex;
     justify-content: space-between;
     align-items: center;
diff --git a/src/components/views/elements/ImageView.tsx b/src/components/views/elements/ImageView.tsx
index 362d1c7da9..1b666eed99 100644
--- a/src/components/views/elements/ImageView.tsx
+++ b/src/components/views/elements/ImageView.tsx
@@ -46,7 +46,11 @@ const ZOOM_COEFFICIENT = 0.0025;
 const ZOOM_DISTANCE = 10;
 
 // Height of mx_ImageView_panel
-const PANEL_HEIGHT = 68;
+const getPanelHeight = (): number => {
+    const value = getComputedStyle(document.documentElement).getPropertyValue("--image-view-panel-height");
+    // Return the value as a number without the unit
+    return parseInt(value.slice(0, value.length - 2));
+};
 
 interface IProps extends IDialogProps {
     src: string; // the source of the image being displayed
@@ -103,7 +107,7 @@ export default class ImageView extends React.Component<IProps, IState> {
                 thumbnailInfo?.positionY +
                 (thumbnailInfo?.height / 2) -
                 (UIStore.instance.windowHeight / 2) -
-                (PANEL_HEIGHT / 2)
+                (getPanelHeight() / 2)
             ) ?? 0,
             moving: false,
             contextMenuDisplayed: false,