diff --git a/Doc/library/commands.rst b/Doc/library/commands.rst
index 177710b..c3f7710 100644
--- a/Doc/library/commands.rst
+++ b/Doc/library/commands.rst
@@ -42,7 +42,13 @@
 
    .. deprecated:: 2.6
       This function is nonobvious and useless, also the name is misleading in the
-      presence of :func:`getstatusoutput`.
+      presence of :func:`getstatusoutput`.  It is removed in 3.x.
+
+.. warning::
+
+   Two undocumented functions in this module, :func:`mk2arg` and :func:`mkargs`
+   are removed in 3.x.
+
 
 Example::
 
diff --git a/Lib/commands.py b/Lib/commands.py
index d19aa1a..b4e1d3c 100644
--- a/Lib/commands.py
+++ b/Lib/commands.py
@@ -63,6 +63,8 @@
 # Make command argument from directory and pathname (prefix space, add quotes).
 #
 def mk2arg(head, x):
+    from warnings import warnpy3k
+    warnpy3k("In 3.x, mk2arg is removed.")
     import os
     return mkarg(os.path.join(head, x))
 
@@ -75,6 +77,8 @@
 # with backslash.
 #
 def mkarg(x):
+    from warnings import warnpy3k
+    warnpy3k("in 3.x, mkarg is remove.")
     if '\'' not in x:
         return ' \'' + x + '\''
     s = ' "'
diff --git a/Lib/test/test_py3kwarn.py b/Lib/test/test_py3kwarn.py
index 180342b..d5574f4 100644
--- a/Lib/test/test_py3kwarn.py
+++ b/Lib/test/test_py3kwarn.py
@@ -212,6 +212,15 @@
                 mod.walk(".", dumbo, None)
             self.assertEquals(str(w.message), msg)
 
+    def test_commands_members(self):
+        import commands
+        members = {"mk2arg" : 2, "mkarg" : 1, "getstatus" : 1}
+        for name, arg_count in members.items():
+            with catch_warning(record=False):
+                warnings.filterwarnings("error")
+                func = getattr(commands, name)
+                self.assertRaises(DeprecationWarning, func, *([None]*arg_count))
+
 
 def test_main():
     run_unittest(TestPy3KWarnings,
