diff --git a/src/plugins/scxmleditor/outputpane/warningmodel.cpp b/src/plugins/scxmleditor/outputpane/warningmodel.cpp
index 23a406a3230b4ba7f640bb81906494dc22dfb8c1..2fb950d089294b879a7178581393d20b21a16d9e 100644
--- a/src/plugins/scxmleditor/outputpane/warningmodel.cpp
+++ b/src/plugins/scxmleditor/outputpane/warningmodel.cpp
@@ -239,7 +239,7 @@ Warning *WarningModel::getWarning(const QModelIndex &ind)
 
 void WarningModel::warningDestroyed(QObject *ww)
 {
-    auto w = static_cast<Warning*>(ww);
+    auto w = qobject_cast<Warning*>(ww);
     if (m_warnings.contains(w)) {
         int ind = m_warnings.indexOf(w);
         beginRemoveRows(QModelIndex(), ind, ind);