diff --git a/common/widgets/grid_icon_text_helpers.cpp b/common/widgets/grid_icon_text_helpers.cpp
index c44b3260ca..368fa2e84b 100644
--- a/common/widgets/grid_icon_text_helpers.cpp
+++ b/common/widgets/grid_icon_text_helpers.cpp
@@ -205,7 +205,7 @@ void GRID_CELL_ICON_TEXT_POPUP::Create( wxWindow* aParent, wxWindowID aId,
         // note that the set of icons might be smaller than the set of labels if
         // the last label is <...>.
         if( i < m_icons.size() && m_icons[ i ] != BITMAPS::INVALID_BITMAP )
-            Combo()->Append( m_names[ i ], KiBitmap( m_icons[ i ] ) );
+            Combo()->Append( m_names[ i ], KiBitmapBundle( m_icons[ i ] ) );
         else
             Combo()->Append( m_names[ i ] );
     }
diff --git a/eeschema/dialogs/dialog_lib_shape_properties.cpp b/eeschema/dialogs/dialog_lib_shape_properties.cpp
index 8daf7aeacb..3345a816f0 100644
--- a/eeschema/dialogs/dialog_lib_shape_properties.cpp
+++ b/eeschema/dialogs/dialog_lib_shape_properties.cpp
@@ -51,7 +51,7 @@ DIALOG_LIB_SHAPE_PROPERTIES::DIALOG_LIB_SHAPE_PROPERTIES( SYMBOL_EDIT_FRAME* aPa
     m_borderColorSwatch->SetSwatchBackground( schematicBackground );
 
     for( const auto& [ lineStyle, lineStyleDesc ] : lineTypeNames )
-        m_borderStyleCombo->Append( lineStyleDesc.name, KiBitmap( lineStyleDesc.bitmap ) );
+        m_borderStyleCombo->Append( lineStyleDesc.name, KiBitmapBundle( lineStyleDesc.bitmap ) );
 
     m_borderStyleCombo->Append( DEFAULT_STYLE );
 
diff --git a/eeschema/dialogs/dialog_lib_textbox_properties.cpp b/eeschema/dialogs/dialog_lib_textbox_properties.cpp
index 9c4898f118..c4b4397545 100644
--- a/eeschema/dialogs/dialog_lib_textbox_properties.cpp
+++ b/eeschema/dialogs/dialog_lib_textbox_properties.cpp
@@ -55,7 +55,7 @@ DIALOG_LIB_TEXTBOX_PROPERTIES::DIALOG_LIB_TEXTBOX_PROPERTIES( SYMBOL_EDIT_FRAME*
     m_borderColorSwatch->SetSwatchBackground( schematicBackground );
 
     for( const auto& [ lineStyle, lineStyleDesc ] : lineTypeNames )
-        m_borderStyleCombo->Append( lineStyleDesc.name, KiBitmap( lineStyleDesc.bitmap ) );
+        m_borderStyleCombo->Append( lineStyleDesc.name, KiBitmapBundle( lineStyleDesc.bitmap ) );
 
     m_borderStyleCombo->Append( DEFAULT_STYLE );
 
diff --git a/eeschema/dialogs/dialog_line_properties.cpp b/eeschema/dialogs/dialog_line_properties.cpp
index ae8f0bac96..8d864a23c3 100644
--- a/eeschema/dialogs/dialog_line_properties.cpp
+++ b/eeschema/dialogs/dialog_line_properties.cpp
@@ -50,7 +50,7 @@ DIALOG_LINE_PROPERTIES::DIALOG_LINE_PROPERTIES( SCH_EDIT_FRAME* aParent,
     SetInitialFocus( m_lineWidth );
 
     for( const auto& [ lineStyle, lineStyleDesc ] : lineTypeNames )
-        m_typeCombo->Append( lineStyleDesc.name, KiBitmap( lineStyleDesc.bitmap ) );
+        m_typeCombo->Append( lineStyleDesc.name, KiBitmapBundle( lineStyleDesc.bitmap ) );
 
     m_typeCombo->Append( DEFAULT_STYLE );
 
diff --git a/eeschema/dialogs/dialog_shape_properties.cpp b/eeschema/dialogs/dialog_shape_properties.cpp
index 701025cf1c..3985d0b5e2 100644
--- a/eeschema/dialogs/dialog_shape_properties.cpp
+++ b/eeschema/dialogs/dialog_shape_properties.cpp
@@ -46,7 +46,7 @@ DIALOG_SHAPE_PROPERTIES::DIALOG_SHAPE_PROPERTIES( SCH_EDIT_FRAME* aParent, SCH_S
     m_borderColorSwatch->SetDefaultColor( COLOR4D::UNSPECIFIED );
 
     for( const auto& [ lineStyle, lineStyleDesc ] : lineTypeNames )
-        m_borderStyleCombo->Append( lineStyleDesc.name, KiBitmap( lineStyleDesc.bitmap ) );
+        m_borderStyleCombo->Append( lineStyleDesc.name, KiBitmapBundle( lineStyleDesc.bitmap ) );
 
     m_borderStyleCombo->Append( DEFAULT_STYLE );
 
diff --git a/eeschema/dialogs/dialog_text_properties.cpp b/eeschema/dialogs/dialog_text_properties.cpp
index bc80d3596b..016f5a9721 100644
--- a/eeschema/dialogs/dialog_text_properties.cpp
+++ b/eeschema/dialogs/dialog_text_properties.cpp
@@ -60,7 +60,8 @@ DIALOG_TEXT_PROPERTIES::DIALOG_TEXT_PROPERTIES( SCH_EDIT_FRAME* aParent, SCH_ITE
         m_borderColorSwatch->SetSwatchBackground( schematicBackground );
 
         for( const auto& [ lineStyle, lineStyleDesc ] : lineTypeNames )
-            m_borderStyleCombo->Append( lineStyleDesc.name, KiBitmap( lineStyleDesc.bitmap ) );
+            m_borderStyleCombo->Append( lineStyleDesc.name,
+                                        KiBitmapBundle( lineStyleDesc.bitmap ) );
 
         m_borderStyleCombo->Append( DEFAULT_STYLE );
 
diff --git a/eeschema/dialogs/dialog_wire_bus_properties.cpp b/eeschema/dialogs/dialog_wire_bus_properties.cpp
index 394610baf3..764f477458 100644
--- a/eeschema/dialogs/dialog_wire_bus_properties.cpp
+++ b/eeschema/dialogs/dialog_wire_bus_properties.cpp
@@ -53,7 +53,7 @@ DIALOG_WIRE_BUS_PROPERTIES::DIALOG_WIRE_BUS_PROPERTIES( SCH_EDIT_FRAME* aParent,
     SetInitialFocus( m_lineWidth );
 
     for( const auto& [ lineStyle, lineStyleDesc ] : lineTypeNames )
-        m_typeCombo->Append( lineStyleDesc.name, KiBitmap( lineStyleDesc.bitmap ) );
+        m_typeCombo->Append( lineStyleDesc.name, KiBitmapBundle( lineStyleDesc.bitmap ) );
 
     m_typeCombo->Append( DEFAULT_STYLE );
 
diff --git a/eeschema/dialogs/panel_setup_pinmap.cpp b/eeschema/dialogs/panel_setup_pinmap.cpp
index b09406a0b6..7d3cd3b2c9 100644
--- a/eeschema/dialogs/panel_setup_pinmap.cpp
+++ b/eeschema/dialogs/panel_setup_pinmap.cpp
@@ -110,7 +110,8 @@ void PANEL_SETUP_PINMAP::OnMouseLeave( wxMouseEvent& aEvent )
 void PANEL_SETUP_PINMAP::reBuildMatrixPanel()
 {
     // Try to know the size of bitmap button used in drc matrix
-    wxBitmapButton* dummy = new wxBitmapButton( m_matrixPanel, wxID_ANY, KiBitmap( BITMAPS::ercerr ),
+    wxBitmapButton* dummy =
+            new wxBitmapButton( m_matrixPanel, wxID_ANY, KiBitmapBundle( BITMAPS::ercerr ),
                                                 wxDefaultPosition, wxDefaultSize, wxBORDER_NONE );
     wxSize          bitmapSize = dummy->GetSize();
     delete dummy;
@@ -194,7 +195,8 @@ void PANEL_SETUP_PINMAP::reBuildMatrixPanel()
                 m_buttonList[ii][jj]->Unbind(wxEVT_LEAVE_WINDOW, &PANEL_SETUP_PINMAP::OnMouseLeave, this );
             }
 
-            wxBitmapButton* btn = new wxBitmapButton( m_matrixPanel, id, KiBitmap( bitmap_butt ),
+            wxBitmapButton* btn =
+                    new wxBitmapButton( m_matrixPanel, id, KiBitmapBundle( bitmap_butt ),
                                                       wxPoint( x, y ), wxDefaultSize, wxBORDER_NONE );
             btn->Bind( wxEVT_LEAVE_WINDOW, &PANEL_SETUP_PINMAP::OnMouseLeave, this );
             btn->Bind( wxEVT_ENTER_WINDOW, &PANEL_SETUP_PINMAP::OnMouseEnter, this );
diff --git a/pcbnew/dialogs/dialog_shape_properties.cpp b/pcbnew/dialogs/dialog_shape_properties.cpp
index fe9ef7ceed..b99b66c5a3 100644
--- a/pcbnew/dialogs/dialog_shape_properties.cpp
+++ b/pcbnew/dialogs/dialog_shape_properties.cpp
@@ -138,7 +138,7 @@ DIALOG_SHAPE_PROPERTIES::DIALOG_SHAPE_PROPERTIES( PCB_BASE_EDIT_FRAME* aParent,
     }
 
     for( const auto& [ lineStyle, lineStyleDesc ] : lineTypeNames )
-        m_lineStyleCombo->Append( lineStyleDesc.name, KiBitmap( lineStyleDesc.bitmap ) );
+        m_lineStyleCombo->Append( lineStyleDesc.name, KiBitmapBundle( lineStyleDesc.bitmap ) );
 
     m_lineStyleCombo->Append( DEFAULT_STYLE );
 
diff --git a/pcbnew/dialogs/dialog_textbox_properties.cpp b/pcbnew/dialogs/dialog_textbox_properties.cpp
index 2cfd25a13c..5721a09d81 100644
--- a/pcbnew/dialogs/dialog_textbox_properties.cpp
+++ b/pcbnew/dialogs/dialog_textbox_properties.cpp
@@ -127,7 +127,7 @@ DIALOG_TEXTBOX_PROPERTIES::DIALOG_TEXTBOX_PROPERTIES( PCB_BASE_EDIT_FRAME* aPare
         m_OrientCtrl->SetString( ii, wxString::Format( "%.1f", rot_list[ii] ) );
 
     for( const auto& [ lineStyle, lineStyleDesc ] : lineTypeNames )
-        m_borderStyleCombo->Append( lineStyleDesc.name, KiBitmap( lineStyleDesc.bitmap ) );
+        m_borderStyleCombo->Append( lineStyleDesc.name, KiBitmapBundle( lineStyleDesc.bitmap ) );
 
     m_borderStyleCombo->Append( DEFAULT_STYLE );