diff --git a/src/lib/audio/audio-recorder.js b/src/lib/audio/audio-recorder.js
index 2d1bcb91dd3bc3c3fbb686ed1f8252ce2117acae..b452b1f263db15ffc7f60e561c8d7bb728ea83c8 100644
--- a/src/lib/audio/audio-recorder.js
+++ b/src/lib/audio/audio-recorder.js
@@ -96,8 +96,14 @@ class AudioRecorder {
             }
         }
 
-        const trimStart = Math.max(2, firstChunkAboveThreshold - 2) / this.buffers.length;
-        const trimEnd = Math.min(this.buffers.length - 2, lastChunkAboveThreshold + 2) / this.buffers.length;
+        let trimStart = Math.max(2, firstChunkAboveThreshold - 2) / this.buffers.length;
+        let trimEnd = Math.min(this.buffers.length - 2, lastChunkAboveThreshold + 2) / this.buffers.length;
+
+        // With very few samples, the automatic trimming can produce invalid values
+        if (trimStart >= trimEnd) {
+            trimStart = 0;
+            trimEnd = 1;
+        }
 
         const buffer = new Float32Array(this.buffers.length * this.bufferLength);