diff --git a/gstlal-inspiral/python/far.py b/gstlal-inspiral/python/far.py
index d6d3a904d02c4eac6b916a8baf4efb08add93a6d..7859bb7f59d590d31404b1b07227e8a02642f277 100644
--- a/gstlal-inspiral/python/far.py
+++ b/gstlal-inspiral/python/far.py
@@ -238,6 +238,7 @@ class RankingStat(snglcoinc.LnLikelihoodRatioMixin):
 		self.numerator += other.numerator
 		self.denominator += other.denominator
 		self.zerolag += other.zerolag
+		self.allow_impossible_candidates |= other.allow_impossible_candidates
 		return self
 
 	def copy(self):
@@ -250,6 +251,7 @@ class RankingStat(snglcoinc.LnLikelihoodRatioMixin):
 		# otherwise the copy's will be reset to None
 		if self.denominator.lnzerolagdensity is self.zerolag:
 			new.denominator.lnzerolagdensity = new.zerolag
+		new.allow_impossible_candidates = self.allow_impossible_candidates
 		return new
 
 	def kwargs_from_triggers(self, events, offsetvector):
@@ -456,6 +458,7 @@ class OnlineFrankensteinRankingStat(RankingStat):
 		self.numerator = inspiral_lr.OnlineFrankensteinLnSignalDensity.splice(src.numerator, donor.numerator)
 		self.denominator = inspiral_lr.OnlineFrankensteinLnNoiseDensity.splice(src.denominator, donor.denominator)
 		self.zerolag = inspiral_lr.OnlineFrankensteinLnLRDensity.splice(src.zerolag)
+		self.allow_impossible_candidates = src.allow_impossible_candidates
 		self.src = src
 		self.donor = donor
 
@@ -464,6 +467,7 @@ class OnlineFrankensteinRankingStat(RankingStat):
 		new.numerator = self.numerator.copy()
 		new.denominator = self.denominator.copy()
 		new.zerolag = self.zerolag.copy()
+		new.allow_impossible_candidates = self.allow_impossible_candidates
 		return new
 
 	def finish(self):