         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?

                    reversed: false
                    extrapolation: 'HOLD'
                    blend_type: 'REPLACE'
                    name: ''
                }
            for strip in ob.animation_strips
                if strip_name_filter.test (strip.name or '')
                    @strips.push strip
            ob
        {@scene, scene: {@context}} = @objects[0]
        # Position in animation frames, usually assigned in step(),
