diff --git a/app.js b/app.js
index f2d06b8eff5832a299b7ad4ebac90b4eb54d5cb6..f0141569e7bbaee90d52169308babfd92c6ac30e 100644
--- a/app.js
+++ b/app.js
@@ -353,7 +353,7 @@ var firmwarewizard = function() {
   }
 
   function parseFilePath(match, basePath, filename, branch) {
-    var location = basePath + filename;
+    var location = basePath + encodeURIComponent(filename);
 
     var devices = vendormodels_reverse[match];
     if (!(devices instanceof Array) || devices.length != 1) {
@@ -1024,7 +1024,7 @@ var firmwarewizard = function() {
       do {
         hrefMatch = reLink.exec(data);
         if (hrefMatch) {
-          var href = hrefMatch[1];
+          var href = decodeURIComponent(hrefMatch[1]);
           if (ignoreFileName(href)) {
             continue;
           }