diff --git a/lib/spack/spack/test/packages.py b/lib/spack/spack/test/packages.py
index e23df237231b3b541b20f151b6d6f404a35a3c0d..146700948f9f427068a47b5f54795bb9e7f828a3 100644
--- a/lib/spack/spack/test/packages.py
+++ b/lib/spack/spack/test/packages.py
@@ -24,8 +24,11 @@
 ##############################################################################
 import unittest
 
-from spack.test.mock_packages_test import *
 import spack
+import spack.packages as packages
+
+from spack.test.mock_packages_test import *
+
 
 class PackagesTest(MockPackagesTest):
 
@@ -51,3 +54,11 @@ def test_package_name(self):
     def test_nonexisting_package_filename(self):
         filename = spack.db.filename_for_package_name('some-nonexisting-package')
         self.assertEqual(filename, join_path(mock_packages_path, 'some-nonexisting-package', 'package.py'))
+
+
+    def test_package_class_names(self):
+        self.assertEqual('Mpich',          packages.class_name_for_package_name('mpich'))
+        self.assertEqual('PmgrCollective', packages.class_name_for_package_name('pmgr_collective'))
+        self.assertEqual('PmgrCollective', packages.class_name_for_package_name('pmgr-collective'))
+        self.assertEqual('Pmgrcollective', packages.class_name_for_package_name('PmgrCollective'))
+        self.assertEqual('Num_3db',        packages.class_name_for_package_name('3db'))