Index: code/cmdline/cmdline.cpp
===================================================================
--- code/cmdline/cmdline.cpp	(revision 9588)
+++ code/cmdline/cmdline.cpp	(working copy)
@@ -765,19 +765,12 @@
 #ifdef _WIN32
 	fp = fopen("data\\cmdline_fso.cfg", "rt");
 #elif defined(APPLE_APP)
-	extern char full_path[1024];
-	char *c = NULL, data_path[1024];
+	char resolved_path[MAX_PATH], data_path[MAX_PATH_LEN];
+     
+	GetCurrentDirectory(MAX_PATH_LEN-1, data_path);
+	snprintf(resolved_path, MAX_PATH, "%s/data/cmdline_fso.cfg", data_path);
 
-	c = strstr(full_path, ".app");
-	if ( c != NULL ) {
-		while (c && (*c != '/'))
-			c--;
-		
-		*c = '\0';
-	}
-	snprintf(data_path, 1024, "%s/data/cmdline_fso.cfg", full_path);
-
-	fp = fopen(data_path, "rt");
+	fp = fopen(resolved_path, "rt");
 #else
 	fp = fopen("data/cmdline_fso.cfg", "rt");
 #endif
Index: code/freespace2/freespace.cpp
===================================================================
--- code/freespace2/freespace.cpp	(revision 9588)
+++ code/freespace2/freespace.cpp	(working copy)
@@ -1724,20 +1724,8 @@
 	cmdline_debug_print_cmdline();
 #endif
 
-#ifdef APPLE_APP
-	// some OSX hackery to drop us out of the APP the binary is run from
-	char *c = NULL;
-	c = strstr(full_path, ".app");
-	if ( c != NULL ) {
-		while (c && (*c != '/'))
-			c--;
-
-		*c = '\0';
-	}
-	strncpy(whee, full_path, MAX_PATH_LEN-1);
-#else
 	GetCurrentDirectory(MAX_PATH_LEN-1, whee);
-#endif
+
 	strcat_s(whee, DIR_SEPARATOR_STR);
 	strcat_s(whee, EXE_FNAME);
 
@@ -8089,7 +8077,7 @@
 	_finddata_t find;
 	int find_handle;
 
-	GetCurrentDirectory(MAX_PATH, oldpath);
+	GetCurrentDirectory(MAX_PATH-1, oldpath);
 
 	for (i = 0; i < 26; i++) 
 	{
