diff --git a/plugins/rdp/rdp_plugin.c b/plugins/rdp/rdp_plugin.c
index 725558cab62f94c64f251ee0770bfa560a614676..a01e4cc683d2788265f02b250cf6cbe6160606dc 100644
--- a/plugins/rdp/rdp_plugin.c
+++ b/plugins/rdp/rdp_plugin.c
@@ -530,7 +530,7 @@ BOOL rf_end_paint(rdpContext *context)
gdi = context->gdi;
rfi = (rfContext *)context;
- if (gdi == NULL || gdi->primary == NULL || gdi->primary->hdc == NULL)
+ if (gdi == NULL || gdi->primary == NULL || gdi->primary->hdc == NULL || gdi->primary->hdc->hwnd == NULL)
return TRUE;
if (gdi->primary->hdc->hwnd->invalid->null)