diff --git a/gnome-volume-control/src/gvc-mixer-dialog.c b/gnome-volume-control/src/gvc-mixer-dialog.c
index 245ac58..c244e55 100644
--- a/gnome-volume-control/src/gvc-mixer-dialog.c
+++ b/gnome-volume-control/src/gvc-mixer-dialog.c
@@ -1532,7 +1532,11 @@ on_test_speakers_clicked (GvcComboBox *widget,
         // https://bugzilla.gnome.org/show_bug.cgi?id=621940
         d = gtk_dialog_new_with_buttons (title,
                                          NULL,
-                                         GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_NO_SEPARATOR,
+                                         GTK_DIALOG_MODAL |
+#if !GTK_CHECK_VERSION (2, 21, 8)
+                                         GTK_DIALOG_NO_SEPARATOR |
+#endif
+                                         GTK_DIALOG_DESTROY_WITH_PARENT,
                                          NULL);
         g_free (title);
         speaker_test = gvc_speaker_test_new (dialog->priv->mixer_control,
diff --git a/gnome-volume-control/src/gvc-stream-status-icon.c b/gnome-volume-control/src/gvc-stream-status-icon.c
index 46619aa..bcb1d75 100644
--- a/gnome-volume-control/src/gvc-stream-status-icon.c
+++ b/gnome-volume-control/src/gvc-stream-status-icon.c
@@ -26,8 +26,12 @@
 
 #include <glib.h>
 #include <glib/gi18n.h>
-#include <gdk/gdkkeysyms.h>
 #include <gtk/gtk.h>
+#if GTK_CHECK_VERSION (2, 21, 8)
+#include <gdk/gdkkeysyms-compat.h>
+#else
+#include <gdk/gdkkeysyms.h>
+#endif
 
 #include "gvc-mixer-stream.h"
 #include "gvc-channel-bar.h"
@@ -133,8 +137,11 @@ popup_dock (GvcStreamStatusIcon *icon,
 
         gtk_container_foreach (GTK_CONTAINER (icon->priv->dock), 
                                (GtkCallback) gtk_widget_show_all, NULL);
+#if GTK_CHECK_VERSION (2, 90, 7)
+        gtk_size_request_get_size (GTK_SIZE_REQUEST (icon->priv->dock), &dock_req, NULL);
+#else
         gtk_widget_size_request (icon->priv->dock, &dock_req);
-
+#endif
         if (orientation == GTK_ORIENTATION_VERTICAL) {
                 if (area.x + area.width + dock_req.width <= monitor.x + monitor.width) {
                         x = area.x + area.width;
diff --git a/grecord/src/gsr-window.c b/grecord/src/gsr-window.c
index df92ef3..714938f 100644
--- a/grecord/src/gsr-window.c
+++ b/grecord/src/gsr-window.c
@@ -1088,7 +1088,9 @@ file_properties_cb (GtkAction *action,
 					      GTK_DIALOG_DESTROY_WITH_PARENT,
 					      GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE, NULL);
 	g_free (title);
+#if !GTK_CHECK_VERSION (2, 21, 8)
 	gtk_dialog_set_has_separator (GTK_DIALOG (dialog), FALSE);
+#endif
 	gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE);
 	gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
 	gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), 2);
diff --git a/profiles/audio-profiles-edit.c b/profiles/audio-profiles-edit.c
index 0e8ca89..efd9dc5 100644
--- a/profiles/audio-profiles-edit.c
+++ b/profiles/audio-profiles-edit.c
@@ -596,7 +596,9 @@ gm_audio_profiles_edit_init (GMAudioProfilesEdit *dialog)
                                  GTK_RESPONSE_ACCEPT,
                                  NULL);
 
+#if !GTK_CHECK_VERSION (2, 21, 8)
   gtk_dialog_set_has_separator (gdialog, FALSE);
+#endif
   gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
   gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_content_area (gdialog)), 2); /* 2 * 5 + 2 = 12 */
   gtk_container_set_border_width (GTK_CONTAINER (gtk_dialog_get_action_area (gdialog)), 5);
