     el = angular.element(scroller)
     $document.append(el)
 
-    sinon.stub(fakeWindow, 'height').returns(1000)
-    scope = $rootScope.$new(true)
-    scope.scroll = sinon.spy()
-    $compile(el)(scope)
-    
+    scope = $rootScope.$new(true)
+    scope.scroll = sinon.spy()
+    $compile(el)(scope)
+
     for i in [0..2] # so, three times
-      fakeWindow.scroll()
+      scroll(fakeWindow)
 
     $timeout.flush()
 

    el = angular.element(scroller)
    $document.append(el)

    sinon.stub(fakeWindow, 'height').returns(1000)
    scope = $rootScope.$new(true)
    scope.scroll = sinon.spy()
    scope.busy = true
    $compile(el)(scope)
    scope.$digest()

    fakeWindow.scroll()

    $timeout.flush()
    scope.scroll.should.not.have.been.called

    scope.scroll.should.have.been.calledOnce

    el.remove()
    scope.$destroy()
