diff --git a/Objects/bytearrayobject.c b/Objects/bytearrayobject.c
index 8f833d8..4d32ea7 100644
--- a/Objects/bytearrayobject.c
+++ b/Objects/bytearrayobject.c
@@ -753,14 +753,18 @@
     }
 
     /* Is it an int? */
-    count = PyNumber_AsSsize_t(arg, PyExc_ValueError);
-    if (count == -1 && PyErr_Occurred())
-        PyErr_Clear();
-    else {
-        if (count < 0) {
-            PyErr_SetString(PyExc_ValueError, "negative count");
+    count = PyNumber_AsSsize_t(arg, PyExc_OverflowError);
+    if (count == -1 && PyErr_Occurred()) {
+        if (PyErr_ExceptionMatches(PyExc_OverflowError))
             return -1;
-        }
+        else
+            PyErr_Clear();
+    }
+    else if (count < 0) {
+        PyErr_SetString(PyExc_ValueError, "negative count");
+        return -1;
+    }
+    else {
         if (count > 0) {
             if (PyByteArray_Resize((PyObject *)self, count))
                 return -1;
diff --git a/Objects/bytesobject.c b/Objects/bytesobject.c
index 890d044..a05bf03 100644
--- a/Objects/bytesobject.c
+++ b/Objects/bytesobject.c
@@ -2545,15 +2545,17 @@
 		return new;
 	}
 	/* Is it an integer? */
-	size = PyNumber_AsSsize_t(x, PyExc_ValueError);
+	size = PyNumber_AsSsize_t(x, PyExc_OverflowError);
 	if (size == -1 && PyErr_Occurred()) {
+		if (PyErr_ExceptionMatches(PyExc_OverflowError))
+			return NULL;
 		PyErr_Clear();		
 	}
+	else if (size < 0) {
+		PyErr_SetString(PyExc_ValueError, "negative count");
+		return NULL;
+	}
 	else {
-		if (size < 0) {
-			PyErr_SetString(PyExc_ValueError, "negative count");
-			return NULL;
-		}
 		new = PyBytes_FromStringAndSize(NULL, size);
 		if (new == NULL) {
 			return NULL;
