diff --git a/core/pymod/core/argcheck.py b/core/pymod/core/argcheck.py
index 4d926736b03b31401c093909908c0e681b06fe11..c8173512df5468a6f10312a4fc4b57899f42f5c6 100644
--- a/core/pymod/core/argcheck.py
+++ b/core/pymod/core/argcheck.py
@@ -68,10 +68,16 @@ def FileExtension(prefix, exit_status, file, extensions, gz=False):
     is_gz = True
     filename, fileext = os.path.splitext(filename)
     if not gz:
-      sys.stderr.write('%s file extension not supported: %s\n' % (prefix, file))
+      extension_string = ', '.join(extensions)
+      sys.stderr.write('%s file extension not supported: %s. ' % (prefix, file)
+                       +'Allowed extensions are: %s\n' % extension_string)
       sys.exit(exit_status)
   if fileext == '':
-    sys.stderr.write('%s file extension not supported: %s\n' % (prefix, file))
+    extension_string = ', '.join(extensions)
+    if gz:
+      extension_string += ', ' + '.gz, '.join(extensions) + '.gz'
+    sys.stderr.write('%s file extension not supported: %s. ' % (prefix, file)
+                     +'Allowed extensions are: %s\n' % extension_string)
     sys.exit(exit_status)
   fileext = fileext[1:].lower()
   for ext in extensions:
@@ -80,7 +86,11 @@ def FileExtension(prefix, exit_status, file, extensions, gz=False):
         return os.path.basename(filename), fileext, is_gz
       else:
         return os.path.basename(filename), fileext
-  sys.stderr.write('%s file extension not supported: %s\n' % (prefix, file))
+  extension_string = ', '.join(extensions)
+  if gz:
+    extension_string += ', ' + '.gz, '.join(extensions) + '.gz'
+  sys.stderr.write('%s file extension not supported: %s. ' % (prefix, file)
+                   +'Allowed extensions are: %s\n' % extension_string)
   sys.exit(exit_status)
 
 __all__ = (
diff --git a/core/tests/test_argcheck.py b/core/tests/test_argcheck.py
index 51e8a8ac2b77a656a59887171a1a946f2920c004..06b7f9d800306f7c83b408144f599afeef4efeb5 100644
--- a/core/tests/test_argcheck.py
+++ b/core/tests/test_argcheck.py
@@ -66,7 +66,8 @@ class ArgcheckTests(unittest.TestCase):
                                            'noextension', ['py'])
     self.assertEqual(ec.exception.code, 27)
     self.assertEqual(err.getvalue().strip(),
-                     'Argcheck test file extension not supported: noextension')
+                     'Argcheck test file extension not supported: noextension. '
+                     +'Allowed extensions are: py')
 
   def testFileExtensionFalseGZ(self):
     # make sure we fail outside gz mode if a gz extension is provided
@@ -76,7 +77,8 @@ class ArgcheckTests(unittest.TestCase):
                                            'wrongname.gz', ['py'])
     self.assertEqual(ec.exception.code, 26)
     self.assertEqual(err.getvalue().strip(),
-                     'Argcheck test file extension not supported: wrongname.gz')
+                     'Argcheck test file extension not supported: wrongname.gz.'
+                     +' Allowed extensions are: py')
 
   def testFileExtensionFalse(self):
     # check file name with unknown extension
@@ -86,7 +88,8 @@ class ArgcheckTests(unittest.TestCase):
                                            'unknown.ext', ['py'])
     self.assertEqual(ec.exception.code, 25)
     self.assertEqual(err.getvalue().strip(),
-                     'Argcheck test file extension not supported: unknown.ext')
+                     'Argcheck test file extension not supported: unknown.ext. '
+                     +'Allowed extensions are: py')
 
 if __name__ == "__main__":
   from ost import testutils
diff --git a/extras/pre-commit b/extras/pre-commit
index 2f15dd49d581cc28ed7046de11921a65348af08e..f7380481415cf668b8261cbdcca771b5aa0eb934 100755
--- a/extras/pre-commit
+++ b/extras/pre-commit
@@ -94,14 +94,14 @@ def CheckWithespaces():
         FailMsg("Found trailing whitespace(s):\n%s" % '\n'.join(output), 8)
 
 def GetFileType(filepath):
+  if filepath.endswith('.py'):
+    return "python"
   try:
     fo = subprocess.check_output(['file', filepath], shell=False)
   except Exception, e:
     FailMsg("Failed to run 'file %s': '%s'" % (filepath, str(e)), 11)
   fo = fo.strip()
-  if fo.endswith('.py'):
-    return "python"
-  elif fo == "%s: a python script text executable" % filepath:
+  if fo == "%s: a python script text executable" % filepath:
     return "python"
   elif fo == "%s: a ost script text executable" % filepath:
     return "python"