         for ob in @objects
             # TODO: optimize
             affected_channels = {}
-            for strip in ob.animation_strips
+            for strip in ob.animation_strips when strip in @strips
                 {frame_start, frame_end, action_frame_start, action_frame_end} = strip
                 strip_pos = @pos - frame_start
                 strip_pos_reverse = frame_end - @pos

        # - members usually assigned in step()
        # - members used in apply()
        # - methods for regular usage, that can be chained
        {exclude=[], start_marker, end_marker} = options or {}
        full_exclude_list = []
        for thing in exclude
            if thing.length?

                full_exclude_list = full_exclude_list.concat thing.objects
            else
                full_exclude_list.push thing
        @strips = []
        @objects = for ob in objects when ob not in exclude
            # TODO: Shall we do this when there are strips too?
            if ob.animation_strips.length == 0 and ob.actions.length != 0
