diff --git a/src/proxy_array.js b/src/proxy_array.js
index <HASH>..<HASH> 100644
--- a/src/proxy_array.js
+++ b/src/proxy_array.js
@@ -26,8 +26,6 @@ var ProxyArray = BasisArray.extend('Basis.ProxyArray', function() {
     var removed = ProxyArray.__super__._splice.call(this, i, n, added),
         removedNative = removed.native;
 
-    this.__owner__.didChange(this.__name__);
-
     for (let i = 0, n = removedNative.length; i < n; i++) {
       if (removedNative[i] instanceof BasisObject) {
         removedNative[i]._deregisterProxy(this.__owner__, this.__name__);
@@ -42,6 +40,11 @@ var ProxyArray = BasisArray.extend('Basis.ProxyArray', function() {
 
     return removed;
   };
+
+  this.prototype.didChange = function(prop) {
+    ProxyArray.__super__.didChange.call(this, prop);
+    if (prop === '@') { this.__owner__.didChange(this.__name__); }
+  };
 });
 
 // Public: Creates a new `Basis.ProxyArray` from a regular `Basis.Array`.
Small ProxyArray refactor.