I'm not positive about this, but it might be that its reading more than one collision each time it hits.
Can you put in a "trigger once while true" condition?
I'm not certain that will fix it.
It also seems like collision always works best if you have a perfect rectangle hitting another perfect rectangle.
Hope that helps, but its likely another issue.