diff --git a/Modules/_struct.c b/Modules/_struct.c
index a99e7f2..25144de 100644
--- a/Modules/_struct.c
+++ b/Modules/_struct.c
@@ -155,7 +155,7 @@
 			PyErr_Clear();
 			if (PyErr_WarnEx(PyExc_DeprecationWarning, FLOAT_COERCE, 2) < 0)
 				return -1;
-			o = PyNumber_Int(v);
+			o = PyNumber_Long(v);
 			if (o == NULL)
 				return -1;
 			res = get_long(o, p);
@@ -260,7 +260,7 @@
 				PyErr_Clear();
 				if (PyErr_WarnEx(PyExc_DeprecationWarning, FLOAT_COERCE, 2) < 0)
 					return -1;
-				o = PyNumber_Int(v);
+				o = PyNumber_Long(v);
 				if (o == NULL)
 					return -1;
 				res = get_wrapped_long(o, p);
@@ -299,7 +299,7 @@
 			PyErr_Clear();
 			if (PyErr_WarnEx(PyExc_DeprecationWarning, FLOAT_COERCE, 2) < 0)
 				return -1;
-			o = PyNumber_Int(v);
+			o = PyNumber_Long(v);
 			if (o == NULL)
 				return -1;
 			res = get_wrapped_ulong(o, p);
diff --git a/Modules/grpmodule.c b/Modules/grpmodule.c
index ca442e5..a58cb06 100644
--- a/Modules/grpmodule.c
+++ b/Modules/grpmodule.c
@@ -90,7 +90,7 @@
     unsigned int gid;
     struct group *p;
 
-    py_int_id = PyNumber_Int(pyo_id);
+    py_int_id = PyNumber_Long(pyo_id);
     if (!py_int_id)
 	    return NULL;
     gid = PyLong_AS_LONG(py_int_id);
diff --git a/Modules/selectmodule.c b/Modules/selectmodule.c
index 6ec574d..bd42e12 100644
--- a/Modules/selectmodule.c
+++ b/Modules/selectmodule.c
@@ -515,7 +515,7 @@
 		return NULL;
 	}
 	else {
-		tout = PyNumber_Int(tout);
+		tout = PyNumber_Long(tout);
 		if (!tout)
 			return NULL;
 		timeout = PyLong_AsLong(tout);
diff --git a/Objects/weakrefobject.c b/Objects/weakrefobject.c
index b65e5fd..aa65573 100644
--- a/Objects/weakrefobject.c
+++ b/Objects/weakrefobject.c
@@ -488,7 +488,7 @@
 WRAP_BINARY(proxy_and, PyNumber_And)
 WRAP_BINARY(proxy_xor, PyNumber_Xor)
 WRAP_BINARY(proxy_or, PyNumber_Or)
-WRAP_UNARY(proxy_int, PyNumber_Int)
+WRAP_UNARY(proxy_int, PyNumber_Long)
 WRAP_UNARY(proxy_float, PyNumber_Float)
 WRAP_BINARY(proxy_iadd, PyNumber_InPlaceAdd)
 WRAP_BINARY(proxy_isub, PyNumber_InPlaceSubtract)
