diff --git a/gnibbles/preferences.c b/gnibbles/preferences.c
index 548eeb1..7c3dd5e 100644
--- a/gnibbles/preferences.c
+++ b/gnibbles/preferences.c
@@ -239,7 +239,8 @@ gnibbles_preferences_cb (GtkWidget * widget, gpointer data)
     running = 1;
 
   pref_dialog = gtk_dialog_new_with_buttons (_("Nibbles Preferences"),
-					     GTK_WINDOW (window), 0,
+					     GTK_WINDOW (window), 
+		 			     GTK_DIALOG_MODAL,
 					     GTK_STOCK_CLOSE,
 					     GTK_RESPONSE_CLOSE, NULL);
   gtk_dialog_set_has_separator (GTK_DIALOG (pref_dialog), FALSE);
diff --git a/libgames-support/games-scores-dialog.c b/libgames-support/games-scores-dialog.c
index 4f96aae..1f09b67 100644
--- a/libgames-support/games-scores-dialog.c
+++ b/libgames-support/games-scores-dialog.c
@@ -174,6 +174,8 @@ GtkWidget * games_scores_dialog_new (GtkWindow *parent_window, GamesScores *scor
     gtk_widget_hide (dialog->_priv->catbar);
   }
 
+  gtk_dialog_set_modal(GTK_DIALOG(dialog));
+
   return (GtkWidget *)dialog;
 }
 
