diff -ru gdm-2.20.1.orig/daemon/gdm.c gdm-2.20.1/daemon/gdm.c
--- gdm-2.20.1.orig/daemon/gdm.c	2007-11-28 21:25:22.000000000 -0800
+++ gdm-2.20.1/daemon/gdm.c	2007-11-28 19:17:45.000000000 -0800
@@ -2538,7 +2538,7 @@
 		gdm_info (_("Master suspending..."));
 
 		sysmenu = gdm_daemon_config_get_value_bool_per_display (GDM_KEY_SYSTEM_MENU, d->name);
-		if (sysmenu && gdm_daemon_config_get_value_string (GDM_KEY_SUSPEND) != NULL) {
+		if (sysmenu && gdm_daemon_config_get_value_string_array (GDM_KEY_SUSPEND) != NULL) {
 			suspend_machine ();
 		}
 	} else if (strncmp (msg, GDM_SOP_CHOSEN_THEME " ",
diff -ru gdm-2.20.1.orig/daemon/slave.c gdm-2.20.1/daemon/slave.c
--- gdm-2.20.1.orig/daemon/slave.c	2007-11-28 21:25:22.000000000 -0800
+++ gdm-2.20.1/daemon/slave.c	2007-11-28 19:13:22.000000000 -0800
@@ -5512,7 +5512,7 @@
 		case GDM_INTERRUPT_SUSPEND:
 			if (d->attached &&
 			    gdm_daemon_config_get_value_bool_per_display (GDM_KEY_SYSTEM_MENU, d->name) &&
-			    ! ve_string_empty (gdm_daemon_config_get_value_string (GDM_KEY_SUSPEND))) {
+			    ! ve_string_empty (gdm_daemon_config_get_value_string_array (GDM_KEY_SUSPEND))) {
 			    	gchar *msg = g_strdup_printf ("%s %ld", 
 							      GDM_SOP_SUSPEND_MACHINE,
 							      (long)getpid ());
