diff --git a/src/rugby-pref-window.c b/src/rugby-pref-window.c
index cd250cad60f3a96bf2b4813560cfde3720e0420d..a4c3c3cf17c7634c953a6828311809e11f3ced07 100644
--- a/src/rugby-pref-window.c
+++ b/src/rugby-pref-window.c
@@ -24,8 +24,8 @@ rugby_pref_window_dispose (GObject *object)
 {
   RugbyPrefWindow *self = RUGBY_PREF_WINDOW (object);
 
-  gtk_widget_dispose_template (GTK_WIDGET (object), RUGBY_TYPE_PREF_WINDOW);
   g_clear_object (&self->settings);
+  gtk_widget_dispose_template (GTK_WIDGET (object), RUGBY_TYPE_PREF_WINDOW);
 
   G_OBJECT_CLASS (rugby_pref_window_parent_class)->dispose (object);
 }