diff --git a/bioem_cuda.cu b/bioem_cuda.cu
index e890c62ee84b884c49f293ce96776af202f07fea..c1c42300b13b8ff5b09809c57a6b60fef4f41dae 100644
--- a/bioem_cuda.cu
+++ b/bioem_cuda.cu
@@ -84,7 +84,6 @@ int bioem_cuda::compareRefMaps(int iProjectionOut, int iConv, const bioem_map& c
 	if (GPUAsync)
 	{
 		checkCudaErrors(cudaEventSynchronize(cudaEvent[iConv & 1]));
-		checkCudaErrors(cudaEventRecord(cudaEvent[iConv & 1], cudaStream));
 	}
 	checkCudaErrors(cudaMemcpyAsync(pConvMap_device[iConv & 1], &conv_map, sizeof(bioem_map), cudaMemcpyHostToDevice, cudaStream));
 	
@@ -133,7 +132,14 @@ int bioem_cuda::compareRefMaps(int iProjectionOut, int iConv, const bioem_map& c
 		cout << "Invalid GPU Algorithm selected\n";
 		exit(1);
 	}
-	if (GPUAsync == 0) checkCudaErrors(cudaStreamSynchronize(cudaStream));
+	if (GPUAsync)
+	{
+		checkCudaErrors(cudaEventRecord(cudaEvent[iConv & 1], cudaStream));
+		}
+	else
+	{
+		checkCudaErrors(cudaStreamSynchronize(cudaStream));
+	}
 	return(0);
 }