diff --git a/src/hb-common.cc b/src/hb-common.cc
index 1a6f518..b75146d 100644
--- a/src/hb-common.cc
+++ b/src/hb-common.cc
@@ -191,9 +191,15 @@
   tag = (tag & 0xDFDFDFDF) | 0x00202020;
 
   switch (tag) {
+
+    /* These graduated from the 'Q' private-area codes, but
+     * the old code is still aliased by Unicode, and the Qaai
+     * one in use by ICU. */
+    case HB_TAG('Q','a','a','i'): return HB_SCRIPT_INHERITED;
+    case HB_TAG('Q','a','a','c'): return HB_SCRIPT_COPTIC;
+
+    /* Script variants from http://unicode.org/iso15924/ */
     case HB_TAG('C','y','r','s'): return HB_SCRIPT_CYRILLIC;
-    case HB_TAG('G','e','o','a'): return HB_SCRIPT_GEORGIAN;
-    case HB_TAG('G','e','o','n'): return HB_SCRIPT_GEORGIAN;
     case HB_TAG('L','a','t','f'): return HB_SCRIPT_LATIN;
     case HB_TAG('L','a','t','g'): return HB_SCRIPT_LATIN;
     case HB_TAG('S','y','r','e'): return HB_SCRIPT_SYRIAC;
diff --git a/src/hb-common.h b/src/hb-common.h
index 74030f4..64109da 100644
--- a/src/hb-common.h
+++ b/src/hb-common.h
@@ -153,16 +153,17 @@
 
 /* hb_script_t */
 
+/* http://unicode.org/iso15924/ */
 typedef enum
 {
   HB_SCRIPT_COMMON                  = HB_TAG ('Z','y','y','y'),
-  HB_SCRIPT_INHERITED               = HB_TAG ('Q','a','a','i'),
+  HB_SCRIPT_INHERITED               = HB_TAG ('Z','i','n','h'),
   HB_SCRIPT_ARABIC                  = HB_TAG ('A','r','a','b'),
   HB_SCRIPT_ARMENIAN                = HB_TAG ('A','r','m','n'),
   HB_SCRIPT_BENGALI                 = HB_TAG ('B','e','n','g'),
   HB_SCRIPT_BOPOMOFO                = HB_TAG ('B','o','p','o'),
   HB_SCRIPT_CHEROKEE                = HB_TAG ('C','h','e','r'),
-  HB_SCRIPT_COPTIC                  = HB_TAG ('Q','a','a','c'),
+  HB_SCRIPT_COPTIC                  = HB_TAG ('C','o','p','t'),
   HB_SCRIPT_CYRILLIC                = HB_TAG ('C','y','r','l'),
   HB_SCRIPT_DESERET                 = HB_TAG ('D','s','r','t'),
   HB_SCRIPT_DEVANAGARI              = HB_TAG ('D','e','v','a'),
diff --git a/src/hb-ot-tag.cc b/src/hb-ot-tag.cc
index 144ee82..62c1b1a 100644
--- a/src/hb-ot-tag.cc
+++ b/src/hb-ot-tag.cc
@@ -40,7 +40,6 @@
 hb_ot_old_tag_from_script (hb_script_t script)
 {
   switch ((hb_tag_t) script) {
-    case HB_SCRIPT_COPTIC:		return HB_TAG('c','o','p','t');
     case HB_SCRIPT_HIRAGANA:		return HB_TAG('k','a','n','a');
     case HB_SCRIPT_LAO:			return HB_TAG('l','a','o',' ');
     case HB_SCRIPT_YI:			return HB_TAG('y','i',' ',' ');
@@ -61,7 +60,6 @@
 hb_ot_old_tag_to_script (hb_tag_t tag)
 {
   switch (tag) {
-    case HB_TAG('c','o','p','t'):	return HB_SCRIPT_COPTIC;
     case HB_TAG('k','a','n','a'):	return HB_SCRIPT_HIRAGANA;
     case HB_TAG('l','a','o',' '):	return HB_SCRIPT_LAO;
     case HB_TAG('y','i',' ',' '):	return HB_SCRIPT_YI;
