diff --git a/web/viewer.js b/web/viewer.js
index 5e94c2241..02f2b6a10 100644
--- a/web/viewer.js
+++ b/web/viewer.js
@@ -620,10 +620,13 @@ var PDFView = {
 
   // Helper function to parse query string (e.g. ?param1=value&parm2=...).
   parseQueryString: function pdfViewParseQueryString(query) {
-    var params = query.split('&');
-    for (var i = 0; i < params.length; i++) {
-      var param = params[i].split('=');
-      params[unescape(param[0])] = unescape(param[1]);
+    var parts = query.split('&');
+    var params = [];
+    for (var i = 0, ii = parts.length; i < parts.length; ++i) {
+      var param = parts[i].split('=');
+      var key = param[0];
+      var value = param.length > 1 ? param[1] : null;
+      params[unescape(key)] = unescape(value);
     }
     return params;
   }