--- ./gdm/daemon/gdm-daemon-config.c	2007-09-19 16:40:33.000000000 -0600
+++ ./gdm-2-20/daemon/gdm-daemon-config.c	2007-09-19 16:17:30.000000000 -0600
@@ -2846,10 +2846,20 @@
 	gchar *cfgstr;
 
 	cfgstr = g_build_filename (home_dir, ".dmrc", NULL);
-
 	dmrc = gdm_common_config_load (cfgstr, NULL);
 	if (dmrc == NULL) {
-		return;
+                gint fd = -1;
+		gdm_debug ("file: %s does not exist - creating it", cfgstr);
+		VE_IGNORE_EINTR (fd = g_open (cfgstr, O_CREAT | O_TRUNC | O_RDWR, 0644));
+		if (fd < 0) return;
+		write (fd, "\n", 2);
+		close (fd);
+                dmrc = gdm_common_config_load (cfgstr, NULL);
+                if (dmrc == NULL) {
+			gdm_debug ("failed to open %s after creating it", cfgstr);
+			return;
+		} 
+
 	}
 
 	if (savesess) {
