diff --git a/plugins/kdecorations/aurorae/src/aurorae.cpp b/plugins/kdecorations/aurorae/src/aurorae.cpp
index 4c5879be2..d849c0fff 100644
--- a/plugins/kdecorations/aurorae/src/aurorae.cpp
+++ b/plugins/kdecorations/aurorae/src/aurorae.cpp
@@ -358,6 +358,14 @@ void Decoration::init()
[this, usingGL] {
if (usingGL) {
if (!m_context->makeCurrent(m_offscreenSurface.data())) {
+ if (!m_context->isValid()) {
+ m_renderControl->invalidate();
+ m_context->create();
+ m_context->makeCurrent(m_offscreenSurface.data());
+ m_renderControl->initialize(m_context.data());
+ m_context->doneCurrent();
+ m_view->update();
+ }
return;
}
if (m_fbo.isNull() || m_fbo->size() != m_view->size()) {