diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
index 8885c0e5d1c36cd5658cc107d7f30c12508a18dc..a1daa07f0166745b014e5ce08d663830f3f9577e 100644
--- a/src/client/qwaylandwindow.cpp
+++ b/src/client/qwaylandwindow.cpp
@@ -823,6 +823,7 @@ bool QWaylandWindow::setWindowStateInternal(Qt::WindowState state)
     mState = state;
 
     if (mShellSurface) {
+        createDecoration();
         switch (state) {
             case Qt::WindowFullScreen:
                 mShellSurface->setFullscreen();