diff --git a/Misc/NEWS b/Misc/NEWS
index 4696a80..b9ec0e1 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -12,6 +12,14 @@
 Core and Builtins
 -----------------
 
+- Issue #3743: In a few places, PY_FORMAT_SIZE_T was incorrectly used with
+  PyString_FromFormat or PyErr_Format to display size_t values. The macro
+  PY_FORMAT_SIZE_T is designed to select the correct format for the OS
+  ``printf`` function, whereas PyString_FromFormat has an independent
+  implementation and uses "%zd" on all platforms for size_t values.
+  This makes a difference on win64, where ``printf`` needs "%Id" to display
+  64bit values.
+
 - Issue #3634: _weakref.ref(Exception).__init__() gave invalid return value on
   error.
 
diff --git a/Modules/_collectionsmodule.c b/Modules/_collectionsmodule.c
index d6dcffd..da000d0 100644
--- a/Modules/_collectionsmodule.c
+++ b/Modules/_collectionsmodule.c
@@ -670,7 +670,7 @@
 		return NULL;
 	}
 	if (((dequeobject *)deque)->maxlen != -1)
-		fmt = PyString_FromFormat("deque(%%r, maxlen=%" PY_FORMAT_SIZE_T "d)", 
+		fmt = PyString_FromFormat("deque(%%r, maxlen=%zd)", 
 					((dequeobject *)deque)->maxlen);
 	else
 		fmt = PyString_FromString("deque(%r)");  
diff --git a/Modules/_multiprocessing/connection.h b/Modules/_multiprocessing/connection.h
index 66a3e8a..155b61b 100644
--- a/Modules/_multiprocessing/connection.h
+++ b/Modules/_multiprocessing/connection.h
@@ -47,8 +47,8 @@
 		return NULL;
 
 	if (handle == INVALID_HANDLE_VALUE || (Py_ssize_t)handle < 0) {
-		PyErr_Format(PyExc_IOError, "invalid handle %" 
-			     PY_FORMAT_SIZE_T "d", (Py_ssize_t)handle);
+		PyErr_Format(PyExc_IOError, "invalid handle %zd",
+			     (Py_ssize_t)handle);
 		return NULL;
 	}
 
@@ -396,7 +396,7 @@
 	static char *conn_type[] = {"read-only", "write-only", "read-write"};
 
 	assert(self->flags >= 1 && self->flags <= 3);
-	return FROM_FORMAT("<%s %s, handle %" PY_FORMAT_SIZE_T "d>", 
+	return FROM_FORMAT("<%s %s, handle %zd>", 
 			   conn_type[self->flags - 1],
 			   CONNECTION_NAME, (Py_ssize_t)self->handle);
 }
diff --git a/Modules/_multiprocessing/multiprocessing.h b/Modules/_multiprocessing/multiprocessing.h
index ec5042c..0b32790 100644
--- a/Modules/_multiprocessing/multiprocessing.h
+++ b/Modules/_multiprocessing/multiprocessing.h
@@ -56,7 +56,6 @@
 #  define PY_SSIZE_T_MAX INT_MAX
 #  define PY_SSIZE_T_MIN INT_MIN
 #  define F_PY_SSIZE_T "i"
-#  define PY_FORMAT_SIZE_T ""
 #  define PyInt_FromSsize_t(n) PyInt_FromLong((long)n)
 #else
 #  define F_PY_SSIZE_T "n"
diff --git a/Python/Python-ast.c b/Python/Python-ast.c
index f958145..1c78515 100644
--- a/Python/Python-ast.c
+++ b/Python/Python-ast.c
@@ -387,7 +387,7 @@
     if (PyTuple_GET_SIZE(args) > 0) {
         if (numfields != PyTuple_GET_SIZE(args)) {
             PyErr_Format(PyExc_TypeError, "%.400s constructor takes %s"
-                         "%" PY_FORMAT_SIZE_T "d positional argument%s",
+                         "%zd positional argument%s",
                          Py_TYPE(self)->tp_name,
                          numfields == 0 ? "" : "either 0 or ",
                          numfields, numfields == 1 ? "" : "s");
