 		updateVisibleRowHeights(forTable: scrolledTable)
 		updateVisibleRowHeights(forTable: syncTarget)
 		
-		if let targetIndex = centerIndex(of: pathFinder(syncTarget, pathId), onSide: syncScrollSide)
+		if let targetIndex = matchIndex(of: pathFinder(syncTarget, pathId), onSide: syncScrollSide, atPosition: anchorPosition)
 		{
 			// Scrolls the other table so that the matching cell is visible
 			syncScrolling = syncScrollSide
-			syncTarget.scrollToRow(at: targetIndex, at: .middle, animated: true)
+			syncTarget.scrollToRow(at: targetIndex, at: anchorPosition.scrollPosition, animated: true)
 		}
 	}
 	

		return cellHeights[currentHeightIds[side]!]![index].or(defaultCellHeight)
	}
	
	private func centerIndex(of indexes: [IndexPath], onSide side: Side) -> IndexPath?
	{
		guard !indexes.isEmpty else
		{

			y = nextY
		}
		
		print("ERROR: Couldn't find a cell that would contain y of \(anchorY)")
		return nil
	}
}
