diff --git a/osu.Game/Rulesets/Edit/PlacementBlueprint.cs b/osu.Game/Rulesets/Edit/PlacementBlueprint.cs
index 2817e26abd..60b979da59 100644
--- a/osu.Game/Rulesets/Edit/PlacementBlueprint.cs
+++ b/osu.Game/Rulesets/Edit/PlacementBlueprint.cs
@@ -209,9 +209,7 @@ namespace osu.Game.Rulesets.Edit
case MouseButtonEvent mouse:
// placement blueprints should generally block mouse from reaching underlying components (ie. performing clicks on interface buttons).
- // for now, the one exception we want to allow is when using a non-main mouse button when shift is pressed, which is used to trigger object deletion
- // while in placement mode.
- return mouse.Button == MouseButton.Left || !mouse.ShiftPressed;
+ return mouse.Button == MouseButton.Left || PlacementActive == PlacementState.Active;
default:
return false;
diff --git a/osu.Game/Screens/Edit/Compose/Components/SelectionHandler.cs b/osu.Game/Screens/Edit/Compose/Components/SelectionHandler.cs
index 16d11ccd1a..eff6629307 100644
--- a/osu.Game/Screens/Edit/Compose/Components/SelectionHandler.cs
+++ b/osu.Game/Screens/Edit/Compose/Components/SelectionHandler.cs
@@ -263,7 +263,7 @@ namespace osu.Game.Screens.Edit.Compose.Components
/// Whether a selection was performed.
internal virtual bool MouseDownSelectionRequested(SelectionBlueprint blueprint, MouseButtonEvent e)
{
- if (e.ShiftPressed && e.Button == MouseButton.Right)
+ if (e.Button == MouseButton.Middle || (e.ShiftPressed && e.Button == MouseButton.Right))
{
handleQuickDeletion(blueprint);
return true;