diff --git a/lib/history.js b/lib/history.js
index f3d4440..c7d2472 100644
--- a/lib/history.js
+++ b/lib/history.js
@@ -31,20 +31,14 @@ function getHistory (userid, callback) {
       history = JSON.parse(user.history)
       // migrate LZString encoded note id to base64url encoded note id
       for (let i = 0, l = history.length; i < l; i++) {
-        let item = history[i]
-        // try to parse in base64url
-        let id = models.Note.decodeNoteId(item.id)
-        if (!id || !models.Note.checkNoteIdValid(id)) {
-          // try to parse in LZString if it can't be parsed in base64url
-          try {
-            id = LZString.decompressFromBase64(item.id)
-          } catch (err) {
-            id = null
-          }
+        try {
+          let id = LZString.decompressFromBase64(history[i].id)
           if (id && models.Note.checkNoteIdValid(id)) {
-            // replace the note id to base64url encoded note id
             history[i].id = models.Note.encodeNoteId(id)
           }
+        } catch (err) {
+          // most error here comes from LZString, ignore
+          logger.error(err)
         }
       }
       history = parseHistoryToObject(history)