diff --git a/lib/spack/spack/cmd/cd.py b/lib/spack/spack/cmd/cd.py
index bf86ba573da8ec1c1938647313aa67897ca02508..242064e2be9bbfd5b2e42039040634512c710cf5 100644
--- a/lib/spack/spack/cmd/cd.py
+++ b/lib/spack/spack/cmd/cd.py
@@ -22,8 +22,9 @@
 # License along with this program; if not, write to the Free Software
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##############################################################################
+from spack.cmd.common import print_module_placeholder_help
+
 import spack.cmd.location
-import spack.modules
 
 description = "cd to spack directories in the shell"
 section = "environment"
@@ -38,4 +39,4 @@ def setup_parser(subparser):
 
 
 def cd(parser, args):
-    spack.modules.print_help()
+    print_module_placeholder_help()
diff --git a/lib/spack/spack/main.py b/lib/spack/spack/main.py
index f32f712089455532a7ea9c03706db8943d6221ef..4c14c34bec1969042461313e902080568858145f 100644
--- a/lib/spack/spack/main.py
+++ b/lib/spack/spack/main.py
@@ -388,7 +388,7 @@ def __call__(self, *argv, **kwargs):
         Returns:
             (str): combined output and error as a string
 
-        On return, if ``fail_on_error`` is False, return value of comman
+        On return, if ``fail_on_error`` is False, return value of command
         is set in ``returncode`` property, and the error is set in the
         ``error`` property.  Otherwise, raise an error.
         """
diff --git a/lib/spack/spack/test/cmd/cd.py b/lib/spack/spack/test/cmd/cd.py
new file mode 100644
index 0000000000000000000000000000000000000000..8e9014bee829bc7dfa50c66dd984f32cfe6cb862
--- /dev/null
+++ b/lib/spack/spack/test/cmd/cd.py
@@ -0,0 +1,36 @@
+##############################################################################
+# Copyright (c) 2013-2017, Lawrence Livermore National Security, LLC.
+# Produced at the Lawrence Livermore National Laboratory.
+#
+# This file is part of Spack.
+# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
+# LLNL-CODE-647188
+#
+# For details, see https://github.com/spack/spack
+# Please also see the NOTICE and LICENSE files for our notice and the LGPL.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License (as
+# published by the Free Software Foundation) version 2.1, February 1999.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
+# conditions of the GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##############################################################################
+from spack.main import SpackCommand
+
+
+cd = SpackCommand('cd')
+
+
+def test_cd():
+    """Sanity check the cd command to make sure it works."""
+
+    out = cd()
+
+    assert "To initialize spack's shell commands, you must run one of" in out