diff --git a/gstlal-inspiral/python/streamthinca.py b/gstlal-inspiral/python/streamthinca.py
index 50e584e8f40b12f644d371f6d03a29153c44c5ff..4a6cc607a29cbfc9f6510b8eb13d78b0c0548d40 100644
--- a/gstlal-inspiral/python/streamthinca.py
+++ b/gstlal-inspiral/python/streamthinca.py
@@ -211,12 +211,13 @@ class backgroundcollector(object):
 		elif len(event_ids) == 1:
 			self.zerolag_singles.update(event_ids)
 
-	def pull(self, snr_min, two_or_more_instruments, flushed_events):
+	def pull(self, snr_min, hl_on, flushed_events):
 		index = dict((id(event), event) for event in flushed_events)
 		flushed_ids = set(index)
 		background_ids = self.timeshifted_coincs & flushed_ids
 		self.timeshifted_coincs -= flushed_ids
-		background_ids |= set(event_id for event_id in self.zerolag_singles & flushed_ids if float(index[event_id].end) in two_or_more_instruments)
+		# put all virgo and kagra in their own background
+		background_ids |= set(event_id for event_id in self.zerolag_singles & flushed_ids if ((float(index[event_id].end) in hl_on) or (index[event_id].ifo not in ("H1", "L1"))))
 		self.zerolag_singles -= flushed_ids
 		return [event for event in map(index.__getitem__, background_ids) if event.snr >= snr_min]
 
@@ -349,11 +350,14 @@ class StreamThinca(object):
 		# add selected singles to the noise model
 
 		if flushed:
-			# times when at least 2 instruments were generating
+			# times when H and L were generating
 			# SNR.  used to select zero-lag singles for
 			# inclusion in the denominator.
 
-			two_or_more_instruments = segmentsUtils.vote(snr_segments.values(), 2)
+			if "H1" in snr_segments and "L1" in snr_segments:
+				hl_on = snr_segments["H1"] & snr_segments["L1"]
+			else:
+				hl_on = segments.segmentlist([])
 			# FIXME:  this is needed to work around rounding
 			# problems in safety checks below, trying to
 			# compare GPS trigger times to float segment
@@ -361,9 +365,9 @@ class StreamThinca(object):
 			# precision to know if triggers near the edge are
 			# in or out).  it would be better not to have to
 			# screw around like this.
-			two_or_more_instruments.protract(1e-3)  # 1 ms
+			hl_on.protract(1e-3)  # 1 ms
 
-			for event in self.backgroundcollector.pull(rankingstat.snr_min, two_or_more_instruments, flushed):
+			for event in self.backgroundcollector.pull(rankingstat.snr_min, hl_on, flushed):
 				rankingstat.denominator.increment(event)
 
 		# add any triggers that have been used in coincidences for