 			T previous = data[LOAD][VEC - 1];
 			flags[LOAD][VEC] = (previous != current);
 
-			Iterate<LOAD, VEC + 1>::template LoadDiscontinuity<FIRST_TILE, FLAG_FIRST>(
+			Iterate<LOAD, VEC + 1>::template LoadDiscontinuity<FIRST_TILE>(
 				data, flags, vectors, d_in_vectors);
 		}
 
 		// With discontinuity flags
-		template <bool FIRST_TILE, bool FLAG_FIRST, typename T, typename Flag, typename SizeT>
+		template <bool FIRST_TILE, typename T, typename Flag, typename SizeT>
 		static __device__ __forceinline__ void LoadDiscontinuity(
 			T data[][LOAD_VEC_SIZE],
 			Flag flags[][LOAD_VEC_SIZE],

		}

		// With discontinuity flags (unguarded)
		template <bool FIRST_TILE, bool FLAG_FIRST, typename T, typename Flag, typename VectorType>
		static __device__ __forceinline__ void LoadDiscontinuity(
			T data[][LOAD_VEC_SIZE],
			Flag flags[][LOAD_VEC_SIZE],
			VectorType vectors[], 
			VectorType *d_in_vectors)
		{
			Iterate<LOAD + 1, 0>::template LoadDiscontinuity<FIRST_TILE, FLAG_FIRST>(
				data, flags, vectors, d_in_vectors + ACTIVE_THREADS);
		}

		// With discontinuity flags (guarded)
		template <bool FIRST_TILE, bool FLAG_FIRST, typename T, typename Flag, typename SizeT>
		static __device__ __forceinline__ void LoadDiscontinuity(
			T data[][LOAD_VEC_SIZE],
			Flag flags[][LOAD_VEC_SIZE],
			T *d_in,
			const SizeT &guarded_elements)
		{
			Iterate<LOAD + 1, 0>::template LoadDiscontinuity<FIRST_TILE, FLAG_FIRST>(
				data, flags, d_in, guarded_elements);
		}
	};

	 */
	template <
		bool FIRST_TILE,								// Whether or not this is the first tile loaded by the CTA
		typename T,										// Tile type
		typename Flag,									// Discontinuity flag type
		typename SizeT>									// Integer type for indexing into global arrays
