diff --git a/Mac/Include/pymactoolbox.h b/Mac/Include/pymactoolbox.h
index c4a56da..64ac823 100644
--- a/Mac/Include/pymactoolbox.h
+++ b/Mac/Include/pymactoolbox.h
@@ -42,6 +42,9 @@
 #define PyMac_INIT_TOOLBOX_OBJECT_CONVERT(object, rtn)
 #endif /* USE_TOOLBOX_OBJECT_GLUE */
 
+/* macfs exports */
+extern int PyMac_GetFSSpec(PyObject *, FSSpec *);
+
 /* AE exports */
 extern PyObject *AEDesc_New(AppleEvent *); /* XXXX Why passed by address?? */
 extern int AEDesc_Convert(PyObject *, AppleEvent *);
diff --git a/Mac/Modules/macfsmodule.c b/Mac/Modules/macfsmodule.c
index e6f11ae..d1b8bb0 100644
--- a/Mac/Modules/macfsmodule.c
+++ b/Mac/Modules/macfsmodule.c
@@ -24,6 +24,7 @@
 
 #include "Python.h"
 #include "macglue.h"
+#include "pymactoolbox.h"
 
 #ifdef WITHOUT_FRAMEWORKS
 #include <Memory.h>
@@ -38,7 +39,10 @@
 
 #include "getapplbycreator.h"
 
-
+#ifdef USE_TOOLBOX_OBJECT_GLUE
+extern int _PyMac_GetFSSpec(PyObject *, FSSpec *);
+#define PyMac_GetFSSpec _PyMac_GetFSSpec
+#endif
 static PyObject *ErrorObject;
 
 /* ----------------------------------------------------- */
@@ -1201,8 +1205,17 @@
 	if ( _mfs_GetFSRefFromFSSpec(v, fsr) )
 		return 1;
 	if ( PyString_Check(v) ) {
+#if TARGET_API_MAC_OSX
+		OSStatus err;
+		if ( (err=FSPathMakeRef(PyString_AsString(v), fsr, NULL)) ) {
+			PyErr_Mac(ErrorObject, err);
+			return 0;
+		}
+		return 1;
+#else
 		PyErr_SetString(PyExc_NotImplementedError, "Cannot create an FSRef from a pathname on this platform");
 		return 0;
+#endif
 	}
 	PyErr_SetString(PyExc_TypeError, "FSRef argument should be existing FSRef, FSSpec or (OSX only) pathname");
 	return 0;
@@ -1270,6 +1283,8 @@
 {
 	PyObject *m, *d;
 
+		PyMac_INIT_TOOLBOX_OBJECT_CONVERT(Handle, PyMac_GetFSSpec);
+
 	/* Create the module and add the functions */
 	m = Py_InitModule("macfs", mfs_methods);
 
diff --git a/Mac/Python/macglue.c b/Mac/Python/macglue.c
index 5fdfe55..b81cd85 100644
--- a/Mac/Python/macglue.c
+++ b/Mac/Python/macglue.c
@@ -1194,6 +1194,7 @@
     } \
     return (*PyMacGluePtr_##routinename)(pyobj, cobj); \
 }
+GLUE_CONVERT(FSSpec, PyMac_GetFSSpec, "macfs")
 
 GLUE_NEW(AppleEvent *, AEDesc_New, "AE") /* XXXX Why by address? */
 GLUE_CONVERT(AppleEvent, AEDesc_Convert, "AE")
