diff --git a/src/gpu/VirtualFluids_GPU/Calculation/UpdateGrid27.cpp b/src/gpu/VirtualFluids_GPU/Calculation/UpdateGrid27.cpp
index 0462692dc64ad07d0c72cd511e0d84141b738b2e..7838abddb9372f2625b9a56fe9f53718e03eb72f 100644
--- a/src/gpu/VirtualFluids_GPU/Calculation/UpdateGrid27.cpp
+++ b/src/gpu/VirtualFluids_GPU/Calculation/UpdateGrid27.cpp
@@ -45,29 +45,7 @@ void UpdateGrid27::updateGrid(Parameter *para, vf::gpu::Communicator *comm, Cuda
     if( level != para->getFine() )
     {
         this->refinementAndExchange(para, level, comm, cudaManager);
-    }
-    if (para->getCalcTurbulenceIntensity()) {
-        CalcTurbulenceIntensityDevice(
-            para->getParD(level)->vxx,
-            para->getParD(level)->vyy,
-            para->getParD(level)->vzz,
-            para->getParD(level)->vxy,
-            para->getParD(level)->vxz,
-            para->getParD(level)->vyz,
-            para->getParD(level)->vx_mean,
-            para->getParD(level)->vy_mean,
-            para->getParD(level)->vz_mean,
-            para->getParD(level)->d0SP.f[0], 
-            para->getParD(level)->geoSP,
-            para->getParD(level)->omega,
-            para->getParD(level)->neighborX_SP,
-            para->getParD(level)->neighborY_SP, 
-            para->getParD(level)->neighborZ_SP,
-            para->getParD(level)->size_Mat_SP,
-            para->getParD(level)->evenOrOdd,
-            para->getParD(level)->numberofthreads
-        );
-    }
+    }    
 }
 
 void refinementAndExchange_streams(Parameter *para, int level, vf::gpu::Communicator *comm,
diff --git a/src/gpu/VirtualFluids_GPU/LBM/Simulation.cpp b/src/gpu/VirtualFluids_GPU/LBM/Simulation.cpp
index b6455cd9167a840c723e18ca3123d6332663641e..11512d45bfcf3b60a42de4e076d17da6d4f3242c 100644
--- a/src/gpu/VirtualFluids_GPU/LBM/Simulation.cpp
+++ b/src/gpu/VirtualFluids_GPU/LBM/Simulation.cpp
@@ -516,6 +516,31 @@ void Simulation::run()
         
           }
         }
+
+		if (para->getCalcTurbulenceIntensity()) {
+            for (int lev = para->getCoarse(); lev <= para->getFine(); lev++) {
+				CalcTurbulenceIntensityDevice(
+				    para->getParD(lev)->vxx,
+				    para->getParD(lev)->vyy,
+				    para->getParD(lev)->vzz,
+				    para->getParD(lev)->vxy,
+				    para->getParD(lev)->vxz,
+				    para->getParD(lev)->vyz,
+				    para->getParD(lev)->vx_mean,
+				    para->getParD(lev)->vy_mean,
+				    para->getParD(lev)->vz_mean,
+				    para->getParD(lev)->d0SP.f[0], 
+				    para->getParD(lev)->geoSP,
+				    para->getParD(lev)->omega,
+				    para->getParD(lev)->neighborX_SP,
+				    para->getParD(lev)->neighborY_SP, 
+				    para->getParD(lev)->neighborZ_SP,
+				    para->getParD(lev)->size_Mat_SP,
+				    para->getParD(lev)->evenOrOdd,
+				    para->getParD(lev)->numberofthreads
+				);
+			}
+		}
         ////////////////////////////////////////////////////////////////////////////////