diff --git a/gnome/src/mainwindow.c b/gnome/src/mainwindow.c
index d9a61d18b10719239317617290fc391345b9d06b..ed3328cf41f4e536812600ce817daa09bf1508d9 100644
--- a/gnome/src/mainwindow.c
+++ b/gnome/src/mainwindow.c
@@ -320,6 +320,12 @@ create_main_window(SFLPhoneClient *client)
     g_object_ref(speaker_control);
     g_object_ref(mic_control);
 
+    if (g_settings_get_boolean(client->settings, "show-dialpad")) {
+        dialpad = create_dialpad(client);
+        gtk_box_pack_end(GTK_BOX(subvbox), dialpad, FALSE, TRUE, 0);
+        gtk_widget_show_all(dialpad);
+    }
+
     if (must_show_volume(client)) {
         gtk_box_pack_end(GTK_BOX(subvbox), speaker_control, FALSE, TRUE, 0);
         gtk_box_pack_end(GTK_BOX(subvbox), mic_control, FALSE, TRUE, 0);
@@ -330,11 +336,6 @@ create_main_window(SFLPhoneClient *client)
         gtk_widget_hide(mic_control);
     }
 
-    if (g_settings_get_boolean(client->settings, "show-dialpad")) {
-        dialpad = create_dialpad(client);
-        gtk_box_pack_end(GTK_BOX(subvbox), dialpad, FALSE, TRUE, 0);
-        gtk_widget_show_all(dialpad);
-    }
 
     /* Status bar */
     statusBar = gtk_statusbar_new();