diff --git a/Telegram/SourceFiles/media/view/media_view_overlay_raster.cpp b/Telegram/SourceFiles/media/view/media_view_overlay_raster.cpp
index 4ca702d39..2867a363c 100644
--- a/Telegram/SourceFiles/media/view/media_view_overlay_raster.cpp
+++ b/Telegram/SourceFiles/media/view/media_view_overlay_raster.cpp
@@ -20,10 +20,21 @@ OverlayWidget::RendererSW::RendererSW(not_null<OverlayWidget*> owner)
 , _transparentBrush(style::TransparentPlaceholder()) {
 }
 
+bool OverlayWidget::RendererSW::handleHideWorkaround() {
+	// This is needed on Windows or Linux,
+	// because on reopen it blinks with the last shown content.
+	return _owner->_hideWorkaround != nullptr;
+}
+
 void OverlayWidget::RendererSW::paintFallback(
 		Painter &&p,
 		const QRegion &clip,
 		Ui::GL::Backend backend) {
+	if (handleHideWorkaround()) {
+		p.setCompositionMode(QPainter::CompositionMode_Source);
+		p.fillRect(clip.boundingRect(), Qt::transparent);
+		return;
+	}
 	_p = &p;
 	_clip = &clip;
 	_clipOuter = clip.boundingRect();
diff --git a/Telegram/SourceFiles/media/view/media_view_overlay_raster.h b/Telegram/SourceFiles/media/view/media_view_overlay_raster.h
index 6399f2219..8057e4d91 100644
--- a/Telegram/SourceFiles/media/view/media_view_overlay_raster.h
+++ b/Telegram/SourceFiles/media/view/media_view_overlay_raster.h
@@ -59,6 +59,7 @@ private:
 		QRect rect,
 		float64 opacity = 1.) override;
 
+	bool handleHideWorkaround();
 	void validateOverControlImage();
 
 	[[nodiscard]] static QRect TransformRect(QRectF geometry, int rotation);