diff --git a/osu.Game.Rulesets.Osu/Edit/OsuSelectionHandler.cs b/osu.Game.Rulesets.Osu/Edit/OsuSelectionHandler.cs
index 660e1844aa..91bb665ee2 100644
--- a/osu.Game.Rulesets.Osu/Edit/OsuSelectionHandler.cs
+++ b/osu.Game.Rulesets.Osu/Edit/OsuSelectionHandler.cs
@@ -236,7 +236,18 @@ namespace osu.Game.Rulesets.Osu.Edit
///
/// The hit objects to calculate a quad for.
private Quad getSurroundingQuad(OsuHitObject[] hitObjects) =>
- getSurroundingQuad(hitObjects.SelectMany(h => new[] { h.Position, h.EndPosition }));
+ getSurroundingQuad(hitObjects.SelectMany(h =>
+ {
+ if (h is IHasPath path)
+ return new[]
+ {
+ h.Position,
+ // can't use EndPosition for reverse slider cases.
+ h.Position + path.Path.PositionAt(1)
+ };
+
+ return new[] { h.Position };
+ }));
///
/// Returns a gamefield-space quad surrounding the provided points.