diff --git a/Doc/library/symtable.rst b/Doc/library/symtable.rst
index 0082287..ee24823 100644
--- a/Doc/library/symtable.rst
+++ b/Doc/library/symtable.rst
@@ -144,15 +144,6 @@
 
       Return ``True`` if the symbol is global.
 
-   .. method:: is_vararg()
-
-      Return ``True`` if the symbol is a star arg (receives varargs).
-
-   .. method:: is_kewordarg()
-
-      Return ``True`` if the symbol is a two-star arg (receives keyword
-      arguments).
-
    .. method:: is_local()
 
       Return ``True`` if the symbol is local to its block.
diff --git a/Lib/symtable.py b/Lib/symtable.py
index ff332f2..3d1775b 100644
--- a/Lib/symtable.py
+++ b/Lib/symtable.py
@@ -2,7 +2,6 @@
 
 import _symtable
 from _symtable import (USE, DEF_GLOBAL, DEF_LOCAL, DEF_PARAM,
-     DEF_STAR, DEF_DOUBLESTAR, DEF_INTUPLE, DEF_FREE,
      DEF_FREE_GLOBAL, DEF_FREE_CLASS, DEF_IMPORT, DEF_BOUND,
      OPT_IMPORT_STAR, SCOPE_OFF, SCOPE_MASK, FREE,
      GLOBAL_IMPLICIT, GLOBAL_EXPLICIT)
@@ -193,12 +192,6 @@
     def is_global(self):
         return bool(self.__scope in (GLOBAL_IMPLICIT, GLOBAL_EXPLICIT))
 
-    def is_vararg(self):
-        return bool(self.__flags & DEF_STAR)
-
-    def is_keywordarg(self):
-        return bool(self.__flags & DEF_DOUBLESTAR)
-
     def is_local(self):
         return bool(self.__flags & DEF_BOUND)
 
@@ -211,9 +204,6 @@
     def is_assigned(self):
         return bool(self.__flags & DEF_LOCAL)
 
-    def is_in_tuple(self):
-        return bool(self.__flags & DEF_INTUPLE)
-
     def is_namespace(self):
         """Returns true if name binding introduces new namespace.
 
diff --git a/Misc/NEWS b/Misc/NEWS
index bd7fdba..3d10f6e 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -249,6 +249,9 @@
 Library
 -------
 
+- The methods ``is_in_tuple()``, ``is_vararg()``, and ``is_keywordarg()`` of
+  symtable.Symbol have been removed.
+
 - Patch #3133: http.server.CGIHTTPRequestHandler did not work on windows.
 
 - a new ``urllib`` package was created.  It consists of code from
