diff --git a/modules/gui/qt/dialogs/external.cpp b/modules/gui/qt/dialogs/external.cpp
index 665a92f7687bcba7fdd8ddd378e4ad8a7c0f6861..58444e1ccefeac6738fdca812b0141c817b76996 100644
--- a/modules/gui/qt/dialogs/external.cpp
+++ b/modules/gui/qt/dialogs/external.cpp
@@ -167,14 +167,11 @@ void DialogHandler::cancel(vlc_dialog_id *p_id)
 void DialogHandler::updateProgress(vlc_dialog_id *p_id, float f_value,
                                    const QString &text)
 {
-    DialogWrapper *p_wrapper =
-        static_cast<DialogWrapper *>(vlc_dialog_id_get_context(p_id));
+    ProgressDialogWrapper *p_wrapper =
+        static_cast<ProgressDialogWrapper *>(vlc_dialog_id_get_context(p_id));
 
-    ProgressDialogWrapper *p_progress_wrapper
-        = dynamic_cast<ProgressDialogWrapper *>(p_wrapper);
-
-    if (p_progress_wrapper != NULL)
-        p_progress_wrapper->updateProgress(f_value, text);
+    if (p_wrapper != NULL)
+        p_wrapper->updateProgress(f_value, text);
 }
 
 void DialogHandler::displayError(const QString &title, const QString &text)