 		struct Iterate<LOAD, LOAD_VEC_SIZE, dummy>
 		{
 			// RepairHeads
-			static __device__ __forceinline__ void RepairHeads(Tile *tile)
+			static __device__ __forceinline__ void RepairHeads(Tile *tile, Cta *cta)
 			{
-				Iterate<LOAD + 1, 0>::RepairHeads(tile);
+				Iterate<LOAD + 1, 0>::RepairHeads(tile, cta);
 			}
 		};
 

		//---------------------------------------------------------------------

		/**
		 * Iterate over vertex id
		 */
		template <int LOAD, int VEC, int dummy = 0>
		struct Iterate

			/**
			 * RepairHeads
			 */
			static __device__ __forceinline__ void RepairHeads(Tile *tile, Cta *cta)
			{
				// Set the partials of flagged items to identity
				if (tile->is_head[LOAD][VEC]) {
					tile->partials[LOAD][VEC] = cta->soa_scan_op().t0;
				}

				// Next
				Iterate<LOAD, VEC + 1>::RepairHeads(tile, cta);
			}
		};

