                 expect(lineStateForScreenRow(presenter, 6).decorationClasses).toEqual ['b']
                 expect(lineStateForScreenRow(presenter, 7).decorationClasses).toBeNull()
 
-              waitsForStateToUpdate presenter, -> decoration1.destroy()
+              waitsForStateToUpdateAsync presenter, -> decoration1.destroy()
               runs ->
                 expect(lineStateForScreenRow(presenter, 2).decorationClasses).toBeNull()
                 expect(lineStateForScreenRow(presenter, 3).decorationClasses).toBeNull()

            marker4 = editor.markBufferRange([[0, 0], [1, 0]])
            decoration4 = null

            waitsForStateToUpdate2 presenter, -> decoration4 = editor.decorateMarker(marker4, decorationParams)

            runs ->
              expectStateUpdate presenter, -> editor.addGutter({name: 'test-gutter-2'})

                  expect(lineNumberStateForScreenRow(presenter, 6).decorationClasses).toEqual ['a', 'b']
                  expect(lineNumberStateForScreenRow(presenter, 7).decorationClasses).toBeNull()

                waitsForStateToUpdateAsync presenter, -> marker1.setBufferRange([[2, 0], [4, 2]])
                runs ->
                  expect(lineNumberStateForScreenRow(presenter, 1).decorationClasses).toBeNull()
                  expect(lineNumberStateForScreenRow(presenter, 2).decorationClasses).toEqual ['a']
