                 return next()
 
             if item.markup.TEXT1.plain is ' destroyed an '
-                if item.markup.PLAYER1.team is item.markup.PORTAL1.team
+                if item.markup.PLAYER1.team is item.markup.PORTAL1.team and not impossibleEvents[item._id]?
                     records.push
                         time:    item.time
                         player:  item.markup.PLAYER1


                if lastDestroyEvent?
                    if lastDestroyEvent.markup.PORTAL1.team isnt item.markup.PORTAL1.team
                        if lastDestroyEvent.markup.PLAYER1.team isnt lastDestroyEvent.markup.PORTAL1.team
                            records.push
                                time:    lastDestroyEvent.time
                                player:  lastDestroyEvent.markup.PLAYER1


            # flip to own faction
            
            if item.markup.TEXT1.plain is ' linked '
                if lastDestroyEvent?
                    if lastDestroyEvent.markup.PORTAL1.team is item.markup.PORTAL1.team
                        impossibleEvents[lastDestroyEvent._id] = true
                
                return next()

            if item.markup.TEXT1.plain is ' deployed an '
                if lastDestroyEvent?
                    if lastDestroyEvent.markup.PORTAL1.team is item.markup.PORTAL1.team
                        impossibleEvents[lastDestroyEvent._id] = true

                return next()
            
            if item.markup.TEXT1.plain is ' captured '
                records.push
                    time:   item.time
