diff --git a/list/list-test.js b/list/list-test.js
index <HASH>..<HASH> 100644
--- a/list/list-test.js
+++ b/list/list-test.js
@@ -822,7 +822,7 @@ QUnit.test("Array shorthand uses #", function() {
 	QUnit.ok(map.numbers.prop === "4", "type left alone");
 });
 
-test("replace-with-self lists are diffed properly", function() {
+test("replace-with-self lists are diffed properly (can-view-live#10)", function() {
 	var a = new DefineMap({ name: "A" });
 	var b = new DefineMap({ name: "B" });
 	var c = new DefineMap({ name: "C" });
diff --git a/list/list.js b/list/list.js
index <HASH>..<HASH> 100644
--- a/list/list.js
+++ b/list/list.js
@@ -894,12 +894,14 @@ assign(DefineList.prototype, {
 	replace: function(newList) {
 		var patches = diff(this, newList);
 
+		canBatch.start();
 		for (var i = 0, len = patches.length; i < len; i++) {
 			this.splice.apply(this, [
 				patches[i].index,
 				patches[i].deleteCount
 			].concat(patches[i].insert));
 		}
+		canBatch.stop();
 
 		return this;
 	},
batch DefineList::replace changes; replace-with-self test references issue number