 			}
 			// Create the connectivity
 			for (int i = 0; i < (preend-prestart); i++){
-				presynaptic_neuron_indices[original_number_of_connections + i] = prestart + group_type_factor*i;
+				presynaptic_neuron_indices[original_number_of_connections + i] = group_type_factor*(prestart + i) + group_type_component;
 				postsynaptic_neuron_indices[original_number_of_connections + i] = poststart + i;
 			}
 

	if (presynaptic_group_id < 0) { // If presynaptic group is Input group

		group_type_factor = -1;
		presynaptic_group_shape = input_neurons->group_shapes[-1*presynaptic_group_id - 1];

		if (presynaptic_group_id < -1){


						// Setup the synapses:
						// Setup Synapses
						presynaptic_neuron_indices[total_number_of_connections - 1] = group_type_factor*i + group_type_component;
						postsynaptic_neuron_indices[total_number_of_connections - 1] = poststart + temp;

						// Increment conn_tgts
