diff --git a/videowidget.cpp b/videowidget.cpp
index 9079a92977a921dc37609cadc18106dade5940f5..c12c100d36be3b17ba0775c12274c1e903eeed61 100644
--- a/videowidget.cpp
+++ b/videowidget.cpp
@@ -82,7 +82,9 @@ VideoWidget::paintEvent(QPaintEvent *evt) {
     if (renderer_) {
         {
             QMutexLocker lock(&mutex_);
-            if (currentDistantFrame_.storage.size() != 0) {
+            if (currentDistantFrame_.storage.size() != 0
+                && currentDistantFrame_.storage.size() ==
+                    (renderer_->size().height()*renderer_->size().width()*4)) {
                 frameDistant_ = std::move(currentDistantFrame_.storage);
                 distantImage_.reset(new QImage((uchar*)frameDistant_.data(),
                                                renderer_->size().width(),
@@ -100,7 +102,9 @@ VideoWidget::paintEvent(QPaintEvent *evt) {
     if (previewRenderer_) {
         {
             QMutexLocker lock(&mutex_);
-            if (currentPreviewFrame_.storage.size() != 0) {
+            if (currentPreviewFrame_.storage.size() != 0
+                 && currentPreviewFrame_.storage.size() ==
+                    (previewRenderer_->size().height()*previewRenderer_->size().width()*4)) {
                 framePreview_ = std::move(currentPreviewFrame_.storage);
                 previewImage_.reset(new QImage((uchar*)framePreview_.data(),
                                                previewRenderer_->size().width(),