diff --git a/Mac/Python/macgetpath.c b/Mac/Python/macgetpath.c
index 80918fd..70a1b69 100644
--- a/Mac/Python/macgetpath.c
+++ b/Mac/Python/macgetpath.c
@@ -65,10 +65,11 @@
 :Lib:test\n\
 :Lib:mac"
 
-static void
+static int
 getpreffilefss(FSSpec *fssp)
 {
 	static int diditbefore=0;
+	static int rv = 1;
 	static FSSpec fss;
     short prefdirRefNum;
     long prefdirDirID;
@@ -88,12 +89,19 @@
 	    }
 	    
 	    HLock(namehandle);
-		(void)FSMakeFSSpec(prefdirRefNum, prefdirDirID, (unsigned char *)*namehandle, &fss);
+	    if ( **namehandle == '\0' ) {
+	    	/* Empty string means don't use preferences file */
+	    	rv = 0;
+	    } else {
+	    	/* There is a filename, construct the fsspec */
+			(void)FSMakeFSSpec(prefdirRefNum, prefdirDirID, (unsigned char *)*namehandle, &fss);
+		}
 		HUnlock(namehandle);
 		ReleaseResource(namehandle);
 		diditbefore = 1;
 	}
 	*fssp = fss;
+	return rv;
 }
 
 char *
@@ -162,7 +170,8 @@
     short prefrh;
     OSErr err;
 
-	getpreffilefss(&dirspec);
+	if ( !getpreffilefss(&dirspec))
+		return -1;
 	prefrh = FSpOpenResFile(&dirspec, fsRdWrShPerm);
 	if ( prefrh < 0 ) {
 #if 0
@@ -225,7 +234,7 @@
 	    prefrh = PyMac_OpenPrefFile();
 	    handle = (AliasHandle)Get1Resource('alis', PYTHONHOME_ID);
 	    if ( handle == NULL ) {
-	    	(void)StopAlert(BADPREFFILE_ID, NULL);
+	    	/* (void)StopAlert(BADPREFFILE_ID, NULL); */
 	    	diditbefore=1;
 	    	return ":";
 	    }
