diff --git a/Doc/library/grp.rst b/Doc/library/grp.rst
index 57f160a..8882140 100644
--- a/Doc/library/grp.rst
+++ b/Doc/library/grp.rst
@@ -30,7 +30,9 @@
 The gid is an integer, name and password are strings, and the member list is a
 list of strings. (Note that most users are not explicitly listed as members of
 the group they are in according to the password database.  Check both databases
-to get complete membership information.)
+to get complete membership information.  Also note that a ``gr_name`` that
+starts with a ``+`` or ``-`` is likely to be a YP/NIS reference and may not be
+accessible via :func:`getgrnam` or :func:`getgrgid`.)
 
 It defines the following items:
 
diff --git a/Lib/test/test_grp.py b/Lib/test/test_grp.py
index 765b4b6..8acc97c 100755
--- a/Lib/test/test_grp.py
+++ b/Lib/test/test_grp.py
@@ -33,12 +33,16 @@
             e2 = grp.getgrgid(e.gr_gid)
             self.check_value(e2)
             self.assertEqual(e2.gr_gid, e.gr_gid)
-            e2 = grp.getgrnam(e.gr_name)
+            name = e.gr_name
+            if name.startswith('+') or name.startswith('-'):
+                # NIS-related entry
+                continue
+            e2 = grp.getgrnam(name)
             self.check_value(e2)
             # There are instances where getgrall() returns group names in
             # lowercase while getgrgid() returns proper casing.
             # Discovered on Ubuntu 5.04 (custom).
-            self.assertEqual(e2.gr_name.lower(), e.gr_name.lower())
+            self.assertEqual(e2.gr_name.lower(), name.lower())
 
     def test_errors(self):
         self.assertRaises(TypeError, grp.getgrgid)
diff --git a/Misc/ACKS b/Misc/ACKS
index 1108f90..8352715 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -369,6 +369,7 @@
 Fredrik Håård
 Mihai Ibanescu
 Lars Immisch
+Bobby Impollonia
 Meador Inge
 Tony Ingraldi
 John Interrante
diff --git a/Misc/NEWS b/Misc/NEWS
index 058b02a..6b6dcba 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -47,6 +47,9 @@
 Tests
 -----
 
+- Issue #775964: test_grp now skips YP/NIS entries instead of failing when
+  encountering them.
+
 - Issue #7110: regrtest now sends test failure reports and single-failure
   tracebacks to stderr rather than stdout.
 
diff --git a/Modules/grpmodule.c b/Modules/grpmodule.c
index ca3a358..4ab5547 100644
--- a/Modules/grpmodule.c
+++ b/Modules/grpmodule.c
@@ -164,7 +164,9 @@
 name is not valid, raise KeyError."},
     {"getgrall",        grp_getgrall,   METH_NOARGS,
      "getgrall() -> list of tuples\n\
-Return a list of all available group entries, in arbitrary order."},
+Return a list of all available group entries, in arbitrary order.\n\
+An entry whose name starts with '+' or '-' represents an instruction\n\
+to use YP/NIS and may not be accessible via getgrnam or getgrgid."},
     {NULL,              NULL}           /* sentinel */
 };
 
