Immer noch ohne den Code gesehen zu haben kann ich weiterhin nur folgendes tippen:
Mit dieser minimalen Änderung der Bedingung (+ oder -) bewirkst du, dass der Programmfluss in den else Block statt dem if Block (oder eben umgekehrt) gelangt und an der stelle doktorst du vielleicht in @query rum oder erzeugst auf sonstiger Weise eine Endlosschleife. Die Endlosschleife (falls es überhaupt eine ist) stammt jedenfalls nicht _direkt_ aus der if Bedingung.
Gruß,
Cruz