diff --git a/js/tools/build/ndn-js-uncomp.js b/js/tools/build/ndn-js-uncomp.js
index 124b05e..6f3a295 100644
--- a/js/tools/build/ndn-js-uncomp.js
+++ b/js/tools/build/ndn-js-uncomp.js
@@ -393,7 +393,7 @@
 			var index = NDN.PITTable.indexOf(pitEntry);
 			//console.log(NDN.PITTable);
 			if (index >= 0) 
-                NDN.PITTable.splice(index, 1);
+	            NDN.PITTable.splice(index, 1);
 			//console.log(NDN.PITTable);
 			// Raise closure callback
 			closure.upcall(Closure.UPCALL_INTEREST_TIMED_OUT, new UpcallInfo(ndn, interest, 0, null));
@@ -1721,21 +1721,8 @@
 
 };
 
-Interest.prototype.matches_name = function(/*Name*/ name){
-	var i_name = this.name.components;
-	var o_name = name.components;
-
-	// The intrest name is longer than the name we are checking it against.
-	if (i_name.length > o_name.length)
-            return false;
-
-	// Check if at least one of given components doesn't match.
-        for (var i = 0; i < i_name.length; ++i) {
-            if (!DataUtils.arraysEqual(i_name[i], o_name[i]))
-                return false;
-        }
-
-	return true;
+Interest.prototype.matches_name = function(/*Name*/ name) {
+    return this.name.match(name);
 }
 
 /**
