diff --git a/lib/unexpected-sinon.js b/lib/unexpected-sinon.js
index <HASH>..<HASH> 100644
--- a/lib/unexpected-sinon.js
+++ b/lib/unexpected-sinon.js
@@ -133,7 +133,9 @@
         var onCall = spy.onCall && spy.onCall(spy.behaviors.length);
         return onCall;
       };
-      for (var propertyName in spy) {
+      var propertyNames = Object.getOwnPropertyNames(spy);
+      for (var i = 0; i < propertyNames.length; i += 1) {
+        var propertyName = propertyNames[i];
         if (
           spy.hasOwnProperty(propertyName) &&
           propertyName !== 'behaviors' &&
Don't rely on spy/stub/... properties being enumerable

They aren't as of sinonjs/sinon#<I>, which landed in sinon <I>

Fixes #<I>