diff --git a/components/operators/src/nvopticalflow.cpp b/components/operators/src/nvopticalflow.cpp
index ba4fefa6bbe3c635c8bfadf880e31eb9f38d9eaf..5d8239365b11d052069e26de93de9cca2a244435 100644
--- a/components/operators/src/nvopticalflow.cpp
+++ b/components/operators/src/nvopticalflow.cpp
@@ -43,6 +43,7 @@ bool NVOpticalFlow::apply(Frame &in, Frame &out, Source *src, cudaStream_t strea
 	cv::cuda::cvtColor(in.get<GpuMat>(channel_in_), left_gray_, cv::COLOR_BGR2GRAY, 0, cvstream);
 
 	nvof_->calc(left_gray_, left_gray_prev_, flow, cvstream);
+	std::swap(left_gray_, left_gray_prev_);
 
 	return true;
 }
\ No newline at end of file