diff --git a/Lib/test/test_os.py b/Lib/test/test_os.py
index d7f763f..2d95f62 100644
--- a/Lib/test/test_os.py
+++ b/Lib/test/test_os.py
@@ -717,6 +717,7 @@
                     self.assertRaises(os.error, os.setreuid, 0, 0)
                 self.assertRaises(OverflowError, os.setreuid, 1<<32, 0)
                 self.assertRaises(OverflowError, os.setreuid, 0, 1<<32)
+                os.setreuid(-1, -1)  # Does nothing, but it needs to accept -1
 
         if hasattr(os, 'setregid'):
             def test_setregid(self):
@@ -724,6 +725,7 @@
                     self.assertRaises(os.error, os.setregid, 0, 0)
                 self.assertRaises(OverflowError, os.setregid, 1<<32, 0)
                 self.assertRaises(OverflowError, os.setregid, 0, 1<<32)
+                os.setregid(-1, -1)  # Does nothing, but it needs to accept -1
 
     @unittest.skipIf(sys.platform == 'darwin', "tests don't apply to OS X")
     class Pep383Tests(unittest.TestCase):
diff --git a/Misc/NEWS b/Misc/NEWS
index e30945a..55700b7 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -351,6 +351,9 @@
 - Expat: Fix DoS via XML document with malformed UTF-8 sequences
   (CVE_2009_3560).
 
+- Issue #7999: os.setreuid() and os.setregid() would refuse to accept a -1
+  parameter on some platforms such as OS X.
+
 Tests
 -----
 
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index 814c9ba..502bf62 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -4370,9 +4370,16 @@
 	uid_t ruid, euid;
 	if (!PyArg_ParseTuple(args, "ll", &ruid_arg, &euid_arg))
 		return NULL;
-	ruid = ruid_arg;
-	euid = euid_arg;
-	if (euid != euid_arg || ruid != ruid_arg) {
+	if (ruid_arg == -1)
+		ruid = (uid_t)-1;  /* let the compiler choose how -1 fits */
+	else
+		ruid = ruid_arg;  /* otherwise, assign from our long */
+	if (euid_arg == -1)
+		euid = (uid_t)-1;
+	else
+		euid = euid_arg;
+	if ((euid_arg != -1 && euid != euid_arg) || 
+	    (ruid_arg != -1 && ruid != ruid_arg)) {
 		PyErr_SetString(PyExc_OverflowError, "user id too big");
 		return NULL;
 	}
@@ -4397,9 +4404,16 @@
 	gid_t rgid, egid;
 	if (!PyArg_ParseTuple(args, "ll", &rgid_arg, &egid_arg))
 		return NULL;
-	rgid = rgid_arg;
-	egid = egid_arg;
-	if (egid != egid_arg || rgid != rgid_arg) {
+	if (rgid_arg == -1)
+		rgid = (gid_t)-1;  /* let the compiler choose how -1 fits */
+	else
+		rgid = rgid_arg;  /* otherwise, assign from our long */
+	if (egid_arg == -1)
+		egid = (gid_t)-1;
+	else
+		egid = egid_arg;
+	if ((egid_arg != -1 && egid != egid_arg) || 
+	    (rgid_arg != -1 && rgid != rgid_arg)) {
 		PyErr_SetString(PyExc_OverflowError, "group id too big");
 		return NULL;
 	}
