diff --git a/gstlal-inspiral/bin/gstlal_inspiral_marginalize_likelihoods_online b/gstlal-inspiral/bin/gstlal_inspiral_marginalize_likelihoods_online
index c8ac725af164fa066fd8790861dcea31636c89ee..27f217f1f46b42708b5c9ecaab3adca73873baa5 100755
--- a/gstlal-inspiral/bin/gstlal_inspiral_marginalize_likelihoods_online
+++ b/gstlal-inspiral/bin/gstlal_inspiral_marginalize_likelihoods_online
@@ -253,10 +253,6 @@ def main():
 						data = pdf.new_with_extinction()
 				else:
 					logging.warning(f'Skipping first-round extinction for {pdfs[svd_bin].files[0]}')
-					if data:
-						data += pdf
-					else:
-						data = pdf
 
 			# while looping through registries
 			# send heartbeat messages
@@ -264,7 +260,8 @@ def main():
 				kafka_processor.heartbeat()
 		
 		# zero out the zerolag after the first round of extinction is finished
-		data.zero_lag_lr_lnpdf.count.array[:] = 0
+		if data:
+			data.zero_lag_lr_lnpdf.count.array[:] = 0
 
 		# if we fail to complete more than 1% of the bins,
 		# this is a serious problem and we should just quit
@@ -290,7 +287,10 @@ def main():
 		zerolag_counts_url = url_from_registry("gstlal_ll_inspiral_trigger_counter_registry.txt", zerolag_counts_path)
 
 		# add zerolag counts url to marginalized data
-		data += far.RankingStatPDF.from_xml(ligolw_utils.load_url(zerolag_counts_url, verbose = options.verbose, contenthandler = far.RankingStat.LIGOLWContentHandler), u"gstlal_inspiral_likelihood")
+		if data:
+			data += far.RankingStatPDF.from_xml(ligolw_utils.load_url(zerolag_counts_url, verbose = options.verbose, contenthandler = far.RankingStat.LIGOLWContentHandler), u"gstlal_inspiral_likelihood")
+		else:
+			data = far.RankingStatPDF.from_xml(ligolw_utils.load_url(zerolag_counts_url, verbose = options.verbose, contenthandler = far.RankingStat.LIGOLWContentHandler), u"gstlal_inspiral_likelihood")
 
 		if kafka_processor:
 			kafka_processor.heartbeat()