 	else
 		{
 		if (opt.shift_mode == 0)
-			if (opt.slj == 1)
+			if (opt.slj == true)
 				gpu_compute_lj_forces_kernel<false, 0, true><<< grid, threads, sizeof(float2)*coeff_width*coeff_width >>>(force_data, pdata, box, nlist, d_coeffs, coeff_width, opt.r_cutsq, rcut6inv, xplor_denom_inv, r_on_sq);
 			else
 				gpu_compute_lj_forces_kernel<false, 0, false><<< grid, threads, sizeof(float2)*coeff_width*coeff_width >>>(force_data, pdata, box, nlist, d_coeffs, coeff_width, opt.r_cutsq, rcut6inv, xplor_denom_inv, r_on_sq);
 		else if (opt.shift_mode == 1)
-			if (opt.slj == 1)
+			if (opt.slj == true)
 				gpu_compute_lj_forces_kernel<false, 1, true><<< grid, threads, sizeof(float2)*coeff_width*coeff_width >>>(force_data, pdata, box, nlist, d_coeffs, coeff_width, opt.r_cutsq, rcut6inv, xplor_denom_inv, r_on_sq);
 			else
 				gpu_compute_lj_forces_kernel<false, 1, false><<< grid, threads, sizeof(float2)*coeff_width*coeff_width >>>(force_data, pdata, box, nlist, d_coeffs, coeff_width, opt.r_cutsq, rcut6inv, xplor_denom_inv, r_on_sq);
 		else if (opt.shift_mode == 2)
-			if (opt.slj == 1)
+			if (opt.slj == true)
 				gpu_compute_lj_forces_kernel<false, 2, true><<< grid, threads, sizeof(float2)*coeff_width*coeff_width >>>(force_data, pdata, box, nlist, d_coeffs, coeff_width, opt.r_cutsq, rcut6inv, xplor_denom_inv, r_on_sq);
 			else
 				gpu_compute_lj_forces_kernel<false, 2, false><<< grid, threads, sizeof(float2)*coeff_width*coeff_width >>>(force_data, pdata, box, nlist, d_coeffs, coeff_width, opt.r_cutsq, rcut6inv, xplor_denom_inv, r_on_sq);				

	// (MEM TRANSFER: 16 bytes)
	float4 pos = tex1Dfetch(pdata_pos_tex, idx_global);
	
	if (slj == 1) {
		// read in the diameter of our particle. 
		// (MEM TRANSFER: 4 bytes)
		float diam = tex1Dfetch(pdata_diam_tex, idx_global);
	}
	
	// initialize the force to 0

	if (opt.ulf_workaround)
		{
		if (opt.shift_mode == 0)
			if (opt.slj == true)
				gpu_compute_lj_forces_kernel<true, 0, true><<< grid, threads, sizeof(float2)*coeff_width*coeff_width >>>(force_data, pdata, box, nlist, d_coeffs, coeff_width, opt.r_cutsq, rcut6inv, xplor_denom_inv, r_on_sq);
			else
				gpu_compute_lj_forces_kernel<true, 0, false><<< grid, threads, sizeof(float2)*coeff_width*coeff_width >>>(force_data, pdata, box, nlist, d_coeffs, coeff_width, opt.r_cutsq, rcut6inv, xplor_denom_inv, r_on_sq);				
		else if (opt.shift_mode == 1)
			if (opt.slj == true)
				gpu_compute_lj_forces_kernel<true, 1, true><<< grid, threads, sizeof(float2)*coeff_width*coeff_width >>>(force_data, pdata, box, nlist, d_coeffs, coeff_width, opt.r_cutsq, rcut6inv, xplor_denom_inv, r_on_sq);
			else
				gpu_compute_lj_forces_kernel<true, 1, false><<< grid, threads, sizeof(float2)*coeff_width*coeff_width >>>(force_data, pdata, box, nlist, d_coeffs, coeff_width, opt.r_cutsq, rcut6inv, xplor_denom_inv, r_on_sq);				
		else if (opt.shift_mode == 2)
			if (opt.slj == true)		
				gpu_compute_lj_forces_kernel<true, 2, true><<< grid, threads, sizeof(float2)*coeff_width*coeff_width >>>(force_data, pdata, box, nlist, d_coeffs, coeff_width, opt.r_cutsq, rcut6inv, xplor_denom_inv, r_on_sq);
			else
				gpu_compute_lj_forces_kernel<true, 2, false><<< grid, threads, sizeof(float2)*coeff_width*coeff_width >>>(force_data, pdata, box, nlist, d_coeffs, coeff_width, opt.r_cutsq, rcut6inv, xplor_denom_inv, r_on_sq);			
