diff --git a/chrome/content/zotero/xpcom/ingester.js b/chrome/content/zotero/xpcom/ingester.js
index 29e332a..af30f11 100644
--- a/chrome/content/zotero/xpcom/ingester.js
+++ b/chrome/content/zotero/xpcom/ingester.js
@@ -290,7 +290,11 @@ Zotero.OpenURL = new function() {
 		for each(var part in coParts) {
 			var keyVal = part.split("=");
 			var key = keyVal[0];
-			var value = decodeURIComponent(keyVal[1].replace(/\+|%2[bB]/g, " "));
+			try {
+				var value = decodeURIComponent(keyVal[1].replace(/\+|%2[bB]/g, " "));
+			} catch(e) {
+				var value = unescape(keyVal[1].replace(/\+|%2[bB]/g, " "));
+			}
 			if(!value) {
 				continue;
 			}
@@ -437,8 +441,8 @@ Zotero.OpenURL = new function() {
 				} else if(key == "rft.rights") {
 					item.rights = value;
 				} else if(key == "rft.language") {
-				  	item.language = value;
-				}  else if(key == "rft.subject") {
+					item.language = value;
+				} else if(key == "rft.subject") {
 					item.tags.push(value);
 				} else if(key == "rft.type") {
 					if(Zotero.ItemTypes.getID(value)) item.itemType = value;
@@ -483,4 +487,4 @@ Zotero.OpenURL = new function() {
 			return "";
 		}
 	}
-}
\ No newline at end of file
+}
