diff --git a/src/fonts.js b/src/fonts.js
index 8609ae608..de8a76dcd 100644
--- a/src/fonts.js
+++ b/src/fonts.js
@@ -1791,6 +1791,10 @@ var Font = (function FontClosure() {
               var i = unassignedUnicodeItems[j];
               while (unusedUnicode in usedUnicodes)
                 unusedUnicode++;
+              var cid = i + 1;
+              // override only if unicode mapping is not specified
+              if (!(cid in toUnicode))
+                toUnicode[cid] = unusedUnicode;
               glyphs[i].unicode = unusedUnicode++;
             }
             this.useToUnicode = true;
diff --git a/test/pdfs/issue919.pdf.link b/test/pdfs/issue919.pdf.link
new file mode 100644
index 000000000..683001139
--- /dev/null
+++ b/test/pdfs/issue919.pdf.link
@@ -0,0 +1 @@
+http://agb.traviangames.com/Travian_AR_Terms.pdf
diff --git a/test/test_manifest.json b/test/test_manifest.json
index 813fc272b..aab838807 100644
--- a/test/test_manifest.json
+++ b/test/test_manifest.json
@@ -341,8 +341,15 @@
        "pageLimit": 3,
        "type": "eq"
     },
-    {
-      "id": "aboutstacks",
+    {  "id": "issue919",
+       "file": "pdfs/issue919.pdf",
+       "md5": "3a1716a512aca4d7a8d6106bd4885d14",
+       "rounds": 1,
+       "link": true,
+       "pageLimit": 3,
+       "type": "eq"
+    },
+    {  "id": "aboutstacks",
       "file": "pdfs/aboutstacks.pdf",
       "md5": "6e7c8416a293ba2d83bc8dd20c6ccf51",
       "rounds": 1,