diff --git a/setup.py b/setup.py
index bca521998974893651d92d94f8208af6d02b763e..148d746e29c8651bcbd04d2a5c5282477cfbd930 100755
--- a/setup.py
+++ b/setup.py
@@ -30,9 +30,9 @@ from setuptools import setup, find_packages, Extension, Command
 from sysconfig import get_platform
 from distutils.errors import DistutilsError, DistutilsModuleError, \
     CCompilerError
-from distutils.command.build import build
-from setuptools.command.sdist import sdist
-from setuptools.command.build_ext import build_ext
+from distutils.command.build import build as build_orig
+from setuptools.command.sdist import sdist as sdist_orig
+from setuptools.command.build_ext import build_ext as build_ext_orig
 
 try:
     import numpy
@@ -120,7 +120,7 @@ Build configuration was:
 error_msg = error_msg.format(header=banner(' Error '), sep=banner())
 
 
-class kwant_build_ext(build_ext):
+class build_ext(build_ext_orig):
     def run(self):
         if not config_file_present:
             # Create an empty config file if none is present so that the
@@ -131,7 +131,7 @@ class kwant_build_ext(build_ext):
                 f.write('# Created by setup.py - feel free to modify.\n')
 
         try:
-            build_ext.run(self)
+            build_ext_orig.run(self)
         except (DistutilsError, CCompilerError):
             print(error_msg.format(file=CONFIG_FILE, summary=build_summary),
                   file=sys.stderr)
@@ -141,7 +141,7 @@ class kwant_build_ext(build_ext):
         print(banner())
 
 
-class kwant_build_tut(Command):
+class build_tut(Command):
     description = "build the tutorial scripts"
     user_options = []
 
@@ -167,11 +167,11 @@ class kwant_build_tut(Command):
 # Even though the tutorial is not necessary for installation, and "build" is
 # supposed to make everything needed to install, this is a robust way to ensure
 # that the tutorial is present.
-class kwant_build(build):
-    sub_commands = [('build_tut', None)] + build.sub_commands
+class build(build_orig):
+    sub_commands = [('build_tut', None)] + build_orig.sub_commands
 
     def run(self):
-        build.run(self)
+        build_orig.run(self)
         write_version(os.path.join(self.build_lib, *STATIC_VERSION_PATH))
 
 
@@ -194,8 +194,8 @@ def git_lsfiles():
 # distribution in the current state actually builds.  It also makes sure that
 # the Cython-made C files and the tutorial will be included in the source
 # distribution and that they will be up-to-date.
-class kwant_sdist(sdist):
-    sub_commands = [('build', None)] + sdist.sub_commands
+class sdist(sdist_orig):
+    sub_commands = [('build', None)] + sdist_orig.sub_commands
 
     def run(self):
         """
@@ -227,7 +227,7 @@ class kwant_sdist(sdist):
                         f.write(''.join([' ', a, sep, stem, dot, 'c']))
                     f.write('\n')
 
-        sdist.run(self)
+        sdist_orig.run(self)
 
         if names is None:
             print(banner(' Caution '),
@@ -481,10 +481,10 @@ def main():
           license="BSD",
           packages=find_packages('.'),
           test_suite = 'nose.collector',
-          cmdclass={'build': kwant_build,
-                    'sdist': kwant_sdist,
-                    'build_ext': kwant_build_ext,
-                    'build_tut': kwant_build_tut},
+          cmdclass={'build': build,
+                    'sdist': sdist,
+                    'build_ext': build_ext,
+                    'build_tut': build_tut},
           ext_modules=ext_modules(extensions()),
           include_dirs=include_dirs,
           setup_requires=['numpy > 1.6.1', 'nose >= 1.0'],