diff --git a/src/radix_sort_par3.cu b/src/radix_sort_par3.cu
index b0701f5f28d6a45f522c895dfb2c5fd07b0c0f42..cb91cab4b15016c1b4da3ebe254b05d358d88348 100644
--- a/src/radix_sort_par3.cu
+++ b/src/radix_sort_par3.cu
@@ -15,7 +15,10 @@ int getMax(int arr[], int n)
 } 
   
 __global__ void storeCount(int *count, int *arr, int n, int exp){
-    for (int i = 0; i < n; i++) 
+    int index = threadIdx.x;
+    int stride = blockDim.x;
+
+    for (int i = index; i < n; i+=stride) 
         count[ (arr[i]/exp)%10 ]++;
 }