diff --git a/numpy/core/include/numpy/npy_common.h b/numpy/core/include/numpy/npy_common.h
index 1188505..b4a2d98 100644
--- a/numpy/core/include/numpy/npy_common.h
+++ b/numpy/core/include/numpy/npy_common.h
@@ -132,9 +132,18 @@ typedef unsigned PY_LONG_LONG npy_ulonglong;
 #    define NPY_LONGLONG_FMT         "I64d"
 #    define NPY_ULONGLONG_FMT        "I64u"
 #  elif defined(__APPLE__) || defined(__FreeBSD__)
-/*   "%Ld" only parses 4 bytes -- "L" is floating modifier on MacOS X/BSD */
-#    define NPY_LONGLONG_FMT         "lld"
-#    define NPY_ULONGLONG_FMT        "llu"
+/*   
+     "%Ld" only parses 4 bytes -- "L" is floating modifier on MacOS X/BSD 
+     Apparently the %lld formatter is not supported prior to Python 2.7. 
+     In this case we work around the problem by using the %zd formatter.
+ */
+#    if (PY_VERSION_HEX >= 0x02070000)
+#      define NPY_LONGLONG_FMT         "lld"
+#      define NPY_ULONGLONG_FMT        "llu"
+#    else
+#      define NPY_LONGLONG_FMT         "zd"
+#      define NPY_ULONGLONG_FMT        "zu"
+#    endif
 /*
      another possible variant -- *quad_t works on *BSD, but is deprecated:
      #define LONGLONG_FMT   "qd"
diff --git a/numpy/core/src/multiarray/scalartypes.c.src b/numpy/core/src/multiarray/scalartypes.c.src
index fc3a74f..a3a4e5c 100644
--- a/numpy/core/src/multiarray/scalartypes.c.src
+++ b/numpy/core/src/multiarray/scalartypes.c.src
@@ -681,7 +681,7 @@ timedeltatype_repr(PyObject *self)
         ret = PyUString_FromString("numpy.timedelta64('NaT'");
     }
     else {
-        ret = PyUString_FromFormat("numpy.timedelta64(%lld",
+        ret = PyUString_FromFormat("numpy.timedelta64(%zd",
                                             (long long)scal->obval);
     }
     /* The metadata unit */
@@ -784,7 +784,7 @@ timedeltatype_str(PyObject *self)
         ret = PyUString_FromString("NaT");
     }
     else {
-        ret = PyUString_FromFormat("%lld ",
+        ret = PyUString_FromFormat("%zd ",
                                 (long long)(scal->obval * scal->obmeta.num));
         PyUString_ConcatAndDel(&ret,
                 PyUString_FromString(basestr));
