diff --git a/gstlal-inspiral/python/lloidhandler.py b/gstlal-inspiral/python/lloidhandler.py
index 832459b7867e6455f7983e84d461c6d7530ea7d3..d970bfa817df502550a3ea3e1c9247ebc30b3d25 100644
--- a/gstlal-inspiral/python/lloidhandler.py
+++ b/gstlal-inspiral/python/lloidhandler.py
@@ -205,11 +205,16 @@ class EyeCandy(object):
 	def update(self, events, last_coincs):
 		self.ram_history.append((float(lal.UTCToGPS(time.gmtime())), (resource.getrusage(resource.RUSAGE_SELF).ru_maxrss + resource.getrusage(resource.RUSAGE_CHILDREN).ru_maxrss) / 1048576.)) # GB
 		if events:
-			max_snr_event = max(events, key = lambda event: event.snr)
-			self.ifo_snr_history[max_snr_event.ifo].append((float(max_snr_event.end), max_snr_event.snr))
-			if self.producer is not None:
-				for ii, column in enumerate(["time", "data"]):
-					self.kafka_data["%s_snr_history" % max_snr_event.ifo][column].append(float(self.ifo_snr_history[max_snr_event.ifo][-1][ii]))
+			maxevents = {}
+			for event in events:
+				if (event.ifo not in maxevents) or (event.snr > maxevents[event.ifo].snr):
+					maxevents[event.ifo] = event
+			for ifo, event in maxevents.items():
+				t, snr = float(event.end), event.snr
+				self.ifo_snr_history[ifo].append((t, snr))
+				if self.producer is not None:
+					self.kafka_data["%s_snr_history" % ifo]["time"].append(t)
+					self.kafka_data["%s_snr_history" % ifo]["data"].append(snr)
 		if last_coincs:
 			coinc_inspiral_index = last_coincs.coinc_inspiral_index
 			coinc_event_index = last_coincs.coinc_event_index