diff --git a/data/ui/gui-window.ui b/data/ui/gui-window.ui
index 1753bae3386901bba76eb61b21d2a0f3f7735e19..e42fdd5b376cc0ecb118f0283536c4b9f4e62c14 100644
--- a/data/ui/gui-window.ui
+++ b/data/ui/gui-window.ui
@@ -56,9 +56,8 @@
         <child>
           <object class="HdyLeaflet" id="header_box">
             <property name="visible">True</property>
-            <property name="mode-transition-type">slide</property>
-            <property name="child-transition-type">slide</property>
-            <property name="visible-child-name" bind-source="content_box" bind-property="visible-child-name" bind-flags="sync-create"/>
+            <property name="transition-type" bind-source="content_box" bind-property="transition-type" bind-flags="sync-create"/>
+            <property name="visible-child-name" bind-source="content_box" bind-property="visible-child-name" bind-flags="bidirectional"/>
             <child>
               <object class="GtkHeaderBar" id="header_bar">
                 <property name="visible">True</property>
@@ -79,6 +78,9 @@
                   <class name="sidebar"/>
                 </style>
               </object>
+              <packing>
+                <property name="allow_visible">False</property>
+              </packing>
             </child>
             <child>
               <object class="GtkHeaderBar" id="sub_header_bar">
@@ -141,8 +143,8 @@
       <object class="HdyLeaflet" id="content_box">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
-        <property name="mode_transition_type">slide</property>
-        <property name="child_transition_type">slide</property>
+        <property name="can-swipe-back">True</property>
+        <property name="transition_type">over</property>
         <child>
           <object class="GtkStackSidebar" id="sidebar">
             <property name="width_request">270</property>
@@ -163,6 +165,9 @@
               <class name="sidebar"/>
             </style>
           </object>
+          <packing>
+            <property name="allow_visible">False</property>
+          </packing>
         </child>
         <child>
           <object class="GtkScrolledWindow" id="scrolled_window">
diff --git a/src/gui-window.c b/src/gui-window.c
index 75bf4a31e71cd0cbdac8c39af6ca97a2875f2517..ddd3ec1c0df987b0a47715d680a73af056c9c6cc 100644
--- a/src/gui-window.c
+++ b/src/gui-window.c
@@ -321,6 +321,9 @@ gui_window_init (GuiWindow *self)
                                    entries, G_N_ELEMENTS (entries),
                                    self);
 
+  hdy_leaflet_set_can_swipe_back (self->header_box, TRUE);
+  hdy_leaflet_set_can_swipe_back (self->content_box, TRUE);
+
   initialize_moodle_provider (self->settings);
 
   update_moodle_index (self);