diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index d514a864a7ae809ecc5e35a443d268bcc46c8905..de404b440d936efc966716ff886769441c6a0a47 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -14,6 +14,7 @@ Fixed
 
 * Progress page didn't work properly.
 * About page failed to load for apps with an unknown licence.
+* Some pages couldn't be scrolled when a task progress popup was open.
 
 `3.1`_ - 2022-05-30
 -------------------
diff --git a/aleksis/core/frontend/components/celery_progress/CeleryProgressBottom.vue b/aleksis/core/frontend/components/celery_progress/CeleryProgressBottom.vue
index 912fb779241ef577c6f900abc78a26008df008f6..1866c3d819ace7f6d329926f6dbe7bdc3b9b0276 100644
--- a/aleksis/core/frontend/components/celery_progress/CeleryProgressBottom.vue
+++ b/aleksis/core/frontend/components/celery_progress/CeleryProgressBottom.vue
@@ -1,5 +1,11 @@
 <template>
-  <v-bottom-sheet :value="show" persistent hide-overlay max-width="400px">
+  <v-bottom-sheet
+    :value="show"
+    persistent
+    hide-overlay
+    max-width="400px"
+    ref="sheet"
+  >
     <v-expansion-panels accordion v-model="open">
       <v-expansion-panel>
         <v-expansion-panel-header color="primary" class="white--text px-4">
@@ -33,6 +39,13 @@ export default {
   data() {
     return { open: 0 };
   },
+  mounted() {
+    // Vuetify uses the hideScroll method to disable scrolling by setting an event listener
+    // to the window. As event listeners can only be removed by referencing the listener
+    // method and because vuetify this method is called on every state change of the dialog,
+    // we simply replace the method in this component instance
+    this.$refs.sheet.hideScroll = this.$refs.sheet.showScroll;
+  },
   computed: {
     show() {
       return this.celeryProgressByUser && this.celeryProgressByUser.length > 0;