diff --git a/src/lib/template/dom-repeat.html b/src/lib/template/dom-repeat.html
index a1537efc68..ee3e99ed18 100644
--- a/src/lib/template/dom-repeat.html
+++ b/src/lib/template/dom-repeat.html
@@ -402,6 +402,10 @@
return this.collection.getKey(a) - this.collection.getKey(b);
},
+ _numericSort: function(a, b) {
+ return a - b;
+ },
+
// Render method 2: incremental update using splices with user sort applied
// ----
// Removed/added keys are deduped, all removed rows are detached and pooled
@@ -438,7 +442,8 @@
if (removedIdxs.length) {
// Sort removed instances idx's then remove backwards,
// so we don't invalidate instance index
- removedIdxs.sort();
+ // use numeric sort, default .sort is alphabetic
+ removedIdxs.sort(this._numericSort);
for (var i=removedIdxs.length-1; i>=0 ; i--) {
var idx = removedIdxs[i];
// Removed idx may be undefined if item was previously filtered out