@@ -1,8 +1,18 @@
 // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
 // See the LICENCE file in the repository root for full licence text.
 
+using System.Collections.Generic;
+using System.Linq;
 using NUnit.Framework;
+using osu.Framework.Testing;
+using osu.Game.Rulesets.Mods;
+using osu.Game.Rulesets.Objects;
+using osu.Game.Rulesets.Osu.Beatmaps;
 using osu.Game.Rulesets.Osu.Mods;
+using osu.Game.Rulesets.Osu.Objects;
+using osu.Game.Rulesets.Osu.Replays;
+using osu.Game.Rulesets.Replays;
+using osuTK;
 
 namespace osu.Game.Rulesets.Osu.Tests.Mods
 {
@@ -21,5 +31,51 @@ public partial class TestSceneOsuModFlashlight : OsuModTestScene
 
         [Test]
         public void TestComboBasedSize([Values] bool comboBasedSize) => CreateModTest(new ModTestData { Mod = new OsuModFlashlight { ComboBasedSize = { Value = comboBasedSize } }, PassCondition = () => true });
+
+        [Test]
+        public void TestSliderDimsOnlyAfterStartTime()
+        {
+            bool sliderDimmedBeforeStartTime = false;
+
+            CreateModTest(new ModTestData
+            {
+                Mod = new OsuModFlashlight(),
+                PassCondition = () =>
+                {
+                    sliderDimmedBeforeStartTime |=
+                        Player.GameplayClockContainer.CurrentTime < 1000 && Player.ChildrenOfType<ModFlashlight<OsuHitObject>.Flashlight>().Single().FlashlightDim > 0;
+                    return Player.GameplayState.HasPassed && !sliderDimmedBeforeStartTime;
+                },
+                Beatmap = new OsuBeatmap
+                {
+                    HitObjects = new List<OsuHitObject>
+                    {
+                        new HitCircle { StartTime = 0, },
+                        new Slider
+                        {
+                            StartTime = 1000,
+                            Path = new SliderPath(new[]
+                            {
+                                new PathControlPoint(),
+                                new PathControlPoint(new Vector2(100))
+                            })
+                        }
+                    },
+                    BeatmapInfo =
+                    {
+                        StackLeniency = 0,
+                    }
+                },
+                ReplayFrames = new List<ReplayFrame>
+                {
+                    new OsuReplayFrame(0, new Vector2(), OsuAction.LeftButton),
+                    new OsuReplayFrame(990, new Vector2()),
+                    new OsuReplayFrame(1000, new Vector2(), OsuAction.LeftButton),
+                    new OsuReplayFrame(2000, new Vector2(100), OsuAction.LeftButton),
+                    new OsuReplayFrame(2001, new Vector2(100)),
+                },
+                Autoplay = false,
+            });
+        }
     }
 }