diff --git a/kwant/_common.py b/kwant/_common.py
index b9ea7aec8bc6b0c3953c495e8fbe3d2b88e15bcf..0015050b4a73b6afb07acb77cbc545a95d8b488f 100644
--- a/kwant/_common.py
+++ b/kwant/_common.py
@@ -11,7 +11,9 @@ import os
 
 __all__ = ['version', 'KwantDeprecationWarning']
 
-distr_root = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
+package_root = os.path.dirname(os.path.realpath(__file__))
+distr_root = os.path.dirname(package_root)
+version_file = '_kwant_version.py'
 
 def get_version_from_git():
     try:
@@ -66,7 +68,14 @@ def get_version_from_git():
 
 
 
-from _kwant_version import version
+# version file contains comments (lines starting with '#')
+# followed by the version string on its own on a single line
+with open(os.path.join(package_root, version_file), 'r') as f:
+    cruft="\"'\n\t\r "  # strip whitespace and quotes
+    line = next(f).strip(cruft)
+    while line.startswith('#'):
+        line = next(f).strip(cruft)
+    version = line
 version_is_from_git = (version == "__use_git__")
 if version_is_from_git:
     version = get_version_from_git()
diff --git a/kwant/_kwant_version.py b/kwant/_kwant_version.py
index 9530ac998c43053c49ccbf5ede5955b72deba379..ddd1a398a5327318bd7193a6d9133aef3791e7c3 100644
--- a/kwant/_kwant_version.py
+++ b/kwant/_kwant_version.py
@@ -1,4 +1,4 @@
 # This file will be overwritten by setup.py when a source or binary
 # distribution is made.  The magic value "__use_git__" is interpreted by
 # _common.py in this directory.
-version = "__use_git__"
+"__use_git__"
diff --git a/setup.py b/setup.py
index 9782a4842158064eb5f40bab4d2fac3614e2a16c..c1b3847d75a4ef76d1518213783f1568b967fb36 100755
--- a/setup.py
+++ b/setup.py
@@ -47,11 +47,6 @@ TUT_HIDDEN_PREFIX = '#HIDDEN'
 # it is not built yet.
 _dont_write_bytecode_saved = sys.dont_write_bytecode
 sys.dont_write_bytecode = True
-try:
-    imp.load_source(STATIC_VERSION_PATH[-1].split('.')[0],
-                    os.path.join(*STATIC_VERSION_PATH))
-except IOError:
-    pass
 _common = imp.load_source('_common', 'kwant/_common.py')
 sys.dont_write_bytecode = _dont_write_bytecode_saved
 
@@ -228,7 +223,7 @@ def write_version(fname):
         pass
     with open(fname, 'w') as f:
         f.write("# This file has been created by setup.py.\n")
-        f.write("version = '{}'\n".format(version))
+        f.write(version)
 
 
 def long_description():