diff --git a/src/modules/packagechooser/Config.cpp b/src/modules/packagechooser/Config.cpp
index 6676215978a73e662ffa9824a894e69a518ae4e5..db7086c4340f20339c2051e0b43ca36b1afb1a7d 100644
--- a/src/modules/packagechooser/Config.cpp
+++ b/src/modules/packagechooser/Config.cpp
@@ -321,22 +321,28 @@ Config::setConfigurationMap( const QVariantMap& configurationMap )
         cDebug() << "Using module ID" << m_defaultId;
     }
 
+    m_defaultModelIndex = QModelIndexList();
     if ( configurationMap.contains( "items" ) )
     {
         fillModel( m_model, configurationMap.value( "items" ).toList() );
 
-        QString default_item_id = CalamaresUtils::getString( configurationMap, "default" );
-        if ( !default_item_id.isEmpty() )
+        QStringList default_item_ids = CalamaresUtils::getStringList( configurationMap, "default" );
+        if ( default_item_ids.isEmpty() ) {
+            const QString& default_item_id = CalamaresUtils::getString( configurationMap, "default" );
+            if ( !default_item_id.isEmpty() ) {
+                default_item_ids.push_back( default_item_id );
+            }
+        }
+        if ( !default_item_ids.isEmpty() )
         {
             for ( int item_n = 0; item_n < m_model->packageCount(); ++item_n )
             {
                 QModelIndex item_idx = m_model->index( item_n, 0 );
                 QVariant item_id = m_model->data( item_idx, PackageListModel::IdRole );
 
-                if ( item_id.toString() == default_item_id )
+                if ( default_item_ids.contains( item_id.toString() ) )
                 {
-                    m_defaultModelIndex = item_idx;
-                    break;
+                    m_defaultModelIndex.push_back( item_idx );
                 }
             }
         }
diff --git a/src/modules/packagechooser/Config.h b/src/modules/packagechooser/Config.h
index d1b783a8d0299783e73cb49e6f0355a925daf0bc..b1ca882066b625aefa10daf331dd68578fc07d76 100644
--- a/src/modules/packagechooser/Config.h
+++ b/src/modules/packagechooser/Config.h
@@ -71,7 +71,7 @@ public:
 
     PackageChooserMode mode() const { return m_mode; }
     PackageListModel* model() const { return m_model; }
-    QModelIndex defaultSelectionIndex() const { return m_defaultModelIndex; }
+    QModelIndexList defaultSelectionIndex() const { return m_defaultModelIndex; }
 
     /** @brief Returns an "introductory package" which describes packagechooser
      *
@@ -107,7 +107,7 @@ signals:
 
 private:
     PackageListModel* m_model = nullptr;
-    QModelIndex m_defaultModelIndex;
+    QModelIndexList m_defaultModelIndex;
 
     /// Selection mode for this module
     PackageChooserMode m_mode = PackageChooserMode::Optional;
diff --git a/src/modules/packagechooser/PackageChooserViewStep.cpp b/src/modules/packagechooser/PackageChooserViewStep.cpp
index e3b27df5c70620ab7a12449e9b19c5c3b2b30557..620c45d648d52765359efbeccb84e06bcdc6d246 100644
--- a/src/modules/packagechooser/PackageChooserViewStep.cpp
+++ b/src/modules/packagechooser/PackageChooserViewStep.cpp
@@ -114,7 +114,9 @@ PackageChooserViewStep::onActivate()
 {
     if ( !m_widget->hasSelection() )
     {
-        m_widget->setSelection( m_config->defaultSelectionIndex() );
+        for ( const auto& item : m_config->defaultSelectionIndex() ) {
+            m_widget->setSelection( item );
+        }
     }
 }