*** engine/match-filter.cs.orig	2003-10-15 11:23:14.000000000 +1300
--- engine/match-filter.cs	2003-10-15 11:17:23.000000000 +1300
***************
*** 77,84 ****
  				     ! this.LatestCluePacket.IsParent (cp)))
  					return;
  
! 				if (this.CurrentlyDisplayedCluePacket == null || 
! 				    ! this.CurrentlyDisplayedCluePacket.IsParent (cp)) {
  					this.GuiClear ();
  					this.DisplayedMatches = new ArrayList ();
  					this.AllMatches = new ArrayList ();
--- 77,89 ----
  				     ! this.LatestCluePacket.IsParent (cp)))
  					return;
  
! 				// This block of code should only be run if this CluePacket is either
! 				// the first CluePacket we've ever seen.  Or is NOT the same as the
! 				// last one we saw (in case other backends have sent us things to
! 				// display) and is not a sibling of the last CluePacket we saw.
! 				if (this.CurrentlyDisplayedCluePacket == null ||
! 						(this.CurrentlyDisplayedCluePacket != cp &&
! 				    ! this.CurrentlyDisplayedCluePacket.IsParent (cp))) {
  					this.GuiClear ();
  					this.DisplayedMatches = new ArrayList ();
  					this.AllMatches = new ArrayList ();

