diff --git a/JikanDepths.cpp b/JikanDepths.cpp
index 6a171fa1932ed4f98bb6cba8d57e76f917e6fecb..8bcec74c9371517d1c14eb6324b86cf860657d0b 100644
--- a/JikanDepths.cpp
+++ b/JikanDepths.cpp
@@ -90,7 +90,7 @@ void Jikan::Jikan_start(const string& name, const int& mode)
         (this->Events)[name].ifStart = true;
     }
 
-    #pragma omp barrier
+    // #pragma omp barrier
 
     if(!ExistFlag)
     {
@@ -100,13 +100,13 @@ void Jikan::Jikan_start(const string& name, const int& mode)
             (this->Events)[name].GetModeVals(mode);
         }
     }
-    else
-    {
-        bool ifStart = (this->Events)[name].ifStart;
+    // else
+    // {
+    //     bool ifStart = (this->Events)[name].ifStart;
 
-        if(!ifStart)
-            return;
-    }
+    //     if(!ifStart)
+    //         return;
+    // }
 
     #pragma omp barrier
     ifMPI = (this->Events)[name].mode[0], ifOpenMP = (this->Events)[name].mode[1];
@@ -140,7 +140,7 @@ void Jikan::Jikan_start(const string& name, const int& mode)
 
     #pragma omp master
     {
-        this->StartEventTimer(name);
+        this->StartEvent(name);
     }
 }
 
@@ -163,6 +163,7 @@ void Jikan::Jikan_end(const string& name)
         {    
             #ifdef INCLUDE_GPU_TIMER
                 this->cuda_Jikan_end(name);
+                this->cuda_get_time(name);
             #endif
         }
     }
@@ -182,7 +183,7 @@ void Jikan::Jikan_end(const string& name)
 
         (this->Events)[name].ifStart = false;
 
-        this->EndEventTimer(name);
+        this->EndEvent(name);
     }
     //---------------------------------------------------------------------------------------
 }
@@ -254,7 +255,7 @@ void Jikan::SetDumpFilename(const string& name)
     this->JSONname = name;
 }
 
-void Jikan::StartEventTimer(const string& name)
+void Jikan::StartEvent(const string& name)
 {
     bool ifMPI = (this->Events)[name].mode[0], ifOpenMP = (this->Events)[name].mode[1], ifCUDA = (this->Events)[name].mode[2];
 
@@ -274,14 +275,14 @@ void Jikan::StartEventTimer(const string& name)
         (this->Events)[name].start = chrono::steady_clock::now();
 }
 
-void Jikan::EndEventTimer(const string& name)
+void Jikan::EndEvent(const string& name)
 {
     bool ifMPI = (this->Events)[name].mode[0], ifOpenMP = (this->Events)[name].mode[1], ifCUDA = (this->Events)[name].mode[2];
 
     if((ifCUDA))
     {
         #ifdef INCLUDE_GPU_TIMER
-            this->cuda_Jikan_start(name);
+            this->cuda_Jikan_end(name);
         #endif
     }
 
diff --git a/JikanDepths.cu b/JikanDepths.cu
index 6da4fbb6b5d7e055a166079781dc42f430094b53..094a342815105723896bcc95d74ee9f27fe00de8 100644
--- a/JikanDepths.cu
+++ b/JikanDepths.cu
@@ -18,19 +18,17 @@ void Jikan::cuda_Jikan_end(const string& name)
 {
     cudaEventRecord((this->Events)[name].gpu_end);
 	cudaEventSynchronize((this->Events)[name].gpu_end);
+}
 
-    bool ifMPI = (this->Events)[name].mode[0], ifOpenMP = (this->Events)[name].mode[1], ifCUDA = (this->Events)[name].mode[2];
-
-    if((ifCUDA) && (!ifMPI) && (!ifOpenMP))
-    {
-        float GPUtime = 0.0;
-        cudaEventElapsedTime(&GPUtime, (this->Events)[name].gpu_start, (this->Events)[name].gpu_end );
-        GPUtime *= 1e-3;
-        (this->Events)[name].elapsed_time += GPUtime;
-        (this->Events)[name].count ++;
+void Jikan::cuda_get_time(const string& name)
+{
+    float GPUtime = 0.0;
+    cudaEventElapsedTime(&GPUtime, (this->Events)[name].gpu_start, (this->Events)[name].gpu_end );
+    GPUtime *= 1e-3;
+    (this->Events)[name].elapsed_time += GPUtime;
+    (this->Events)[name].count ++;
 
-        #ifdef SAVE_TIME_SERIES
-            (this->Events)[name].time_series.push_back(GPUtime);
-        #endif
-    }
+    #ifdef SAVE_TIME_SERIES
+        (this->Events)[name].time_series.push_back(GPUtime);
+    #endif
 }
\ No newline at end of file
diff --git a/JikanDepths.h b/JikanDepths.h
index 3395fe9900525a827ca1d9843f9a1fbe95d6c387..85c99a5c813266e8e955e11eeb2dfa0b4fa4525c 100644
--- a/JikanDepths.h
+++ b/JikanDepths.h
@@ -48,6 +48,10 @@ public:
 private:
     void StartTimer(const std::string& name);
     void BarrierMPI();
-    void StartEventTimer(const std::string& name);
-    void EndEventTimer(const std::string& name);
+    void StartEvent(const std::string& name);
+    void EndEvent(const std::string& name);
+
+#ifdef INCLUDE_GPU_TIMER
+    void cuda_get_time(const string& name);
+#endif
 };
\ No newline at end of file