diff --git a/scripts/misc/iso639 b/scripts/misc/iso639
index 8625754..e80b31c 100755
--- a/scripts/misc/iso639
+++ b/scripts/misc/iso639
@@ -39,21 +39,56 @@
 """
 
 import sys
-import iso639
 
 if len(sys.argv) != 2:
-   print "Usage: iso639 LANG"
-   print "where LANG is a language name or abbreviation."
-   sys.exit(1)
+    print "Usage: iso639 LANG"
+    print "where LANG is a language name or abbreviation."
+    sys.exit(1)
+
+# Common manual mappings in order to avoid the potentially
+# not present iso639 module
+quickdict = {
+   'English': 'en',
+   'en': 'English',
+   'Spanish': 'es',
+   'es': 'Spanish',
+   'Hebrew': 'he',
+   'he': 'Hebrew',
+   'German': 'de',
+   'de': 'German',
+   'French': 'fr',
+   'fr': 'French',
+   'Arabic': 'ar',
+   'ar': 'Arabic',
+   'Czech': 'cs',
+   'cs': 'Czech',
+   'Romanian': 'ro',
+   'ro': 'Romanian',
+}
 
 input = sys.argv[1]
 
-if len(input) == 2:
-   lang = iso639.languages.get(part1 = input)
-   print lang.name
-elif len(input) == 3:
-   lang = iso639.languages.get(part3 = input)
-   print lang.name
+if quickdict.has_key(input):
+    print quickdict[input]
+
 else:
-   lang = iso639.languages.get(name = input)
-   print lang.part1
+    # Only load this if we have to
+
+    try:
+        import iso639
+
+        if len(input) == 2:
+            lang = iso639.languages.get(part1 = input)
+            print lang.name
+        elif len(input) == 3:
+            lang = iso639.languages.get(part3 = input)
+            print lang.name
+        else:
+            lang = iso639.languages.get(name = input)
+            print lang.part1
+
+    except ImportError:
+        sys.stderr.write('Can\'t load module iso639 ("pip install --user iso-639")\n')
+
+    except KeyError:
+        sys.stderr.write('Language not found: {}\n'.format(input))
