diff --git a/Aaru.Core/Devices/Dumping/CompactDisc/Pregap.cs b/Aaru.Core/Devices/Dumping/CompactDisc/Pregap.cs index 190677477..6d8e02673 100644 --- a/Aaru.Core/Devices/Dumping/CompactDisc/Pregap.cs +++ b/Aaru.Core/Devices/Dumping/CompactDisc/Pregap.cs @@ -503,6 +503,17 @@ namespace Aaru.Core.Devices.Dumping inexactPositioning = true; } + // Received a Q post the LBA we wanted, just go back. If we are already going forward, break + if(posQ > lba) + { + if(forward) + break; + + lba--; + + continue; + } + // Bigger than known change, otherwise we found it if(pregapQ > pregaps[track.TrackSequence]) {