diff --git a/src/widgets/widgets/qcombobox.cpp b/src/widgets/widgets/qcombobox.cpp
index 76f923904ddbffba5831787cc64da7703c4e0035..ef80e359df2780f0409b67e7287b8c8361c5c2de 100644
--- a/src/widgets/widgets/qcombobox.cpp
+++ b/src/widgets/widgets/qcombobox.cpp
@@ -3034,7 +3034,7 @@ void QComboBoxPrivate::showPopupFromMouseEvent(QMouseEvent *e)
     QStyle::SubControl sc = q->style()->hitTestComplexControl(QStyle::CC_ComboBox, &opt, e->pos(), q);
 
     if (e->button() == Qt::LeftButton
-            && sc != QStyle::SC_None
+            && !(sc == QStyle::SC_None && e->type() == QEvent::MouseButtonRelease)
             && (sc == QStyle::SC_ComboBoxArrow || !q->isEditable())
             && !viewContainer()->isVisible()) {
         if (sc == QStyle::SC_ComboBoxArrow)