diff --git a/public/app/features/dashboard-scene/scene/DashboardControls.tsx b/public/app/features/dashboard-scene/scene/DashboardControls.tsx
index b4396867d6b..3e992340079 100644
--- a/public/app/features/dashboard-scene/scene/DashboardControls.tsx
+++ b/public/app/features/dashboard-scene/scene/DashboardControls.tsx
@@ -158,8 +158,7 @@ function getStyles(theme: GrafanaTheme2) {
gap: theme.spacing(1),
flexDirection: 'row',
flexWrap: 'nowrap',
- position: 'sticky',
- top: 0,
+ position: 'relative',
background: theme.colors.background.canvas,
zIndex: theme.zIndex.activePanel,
width: '100%',
@@ -168,6 +167,10 @@ function getStyles(theme: GrafanaTheme2) {
flexDirection: 'column-reverse',
alignItems: 'stretch',
},
+ [theme.breakpoints.up('sm')]: {
+ position: 'sticky',
+ top: 0,
+ },
}),
embedded: css({
background: 'unset',
diff --git a/public/app/features/dashboard-scene/scene/DashboardSceneRenderer.tsx b/public/app/features/dashboard-scene/scene/DashboardSceneRenderer.tsx
index 8c50aa0585c..97cc9322015 100644
--- a/public/app/features/dashboard-scene/scene/DashboardSceneRenderer.tsx
+++ b/public/app/features/dashboard-scene/scene/DashboardSceneRenderer.tsx
@@ -1,10 +1,11 @@
import { css, cx } from '@emotion/css';
import { useLocation } from 'react-router-dom';
+import { useMedia } from 'react-use';
import { GrafanaTheme2, PageLayoutType } from '@grafana/data';
import { selectors } from '@grafana/e2e-selectors';
import { SceneComponentProps } from '@grafana/scenes';
-import { CustomScrollbar, useStyles2 } from '@grafana/ui';
+import { CustomScrollbar, useStyles2, useTheme2 } from '@grafana/ui';
import { Page } from 'app/core/components/Page/Page';
import { EntityNotFound } from 'app/core/components/PageNotFound/EntityNotFound';
import { getNavModel } from 'app/core/selectors/navModel';
@@ -75,15 +76,14 @@ export function DashboardSceneRenderer({ model }: SceneComponentProps