 				// If there are poisson populations
 				if (numPoisson > 0) {
 					// First create the set of random numbers of poisson neurons
-					randoms<<<vectorblocksPerGrid, threadsPerBlock>>>(states, gpu_randfloats, neurons->total_number_of_neurons);
+					randoms<<<neurons->threads_per_block, neurons->number_of_neuron_blocks_per_grid>>>(states, gpu_randfloats, neurons->total_number_of_neurons);
 					CudaCheckError();
 
 					// Update Poisson neuron states

											timestep,
											numEnts,
											genblocknum, 
											threadsPerBlock);
					
				} 
				

	input_neurons->set_threads_per_block_and_blocks_per_grid(threads);


	dim3 genblocksPerGrid(1,1,1);


	input_neurons->generate_random_states_wrapper();

	curandState_t* states;
	cudaMalloc((void**) &states, neurons->total_number_of_neurons*sizeof(curandState_t));
	// Initialise the random states
	init<<<neurons->threads_per_block, neurons->number_of_neuron_blocks_per_grid>>>(42, states, neurons->total_number_of_neurons);
	CudaCheckError();
	// Keep space for the random numbers
	float* gpu_randfloats;
