diff --git a/SpotifyRecorder.py b/SpotifyRecorder.py
index cb83ee5f37bd40a3c4634f5dc1d21441d681a7d0..9374eb12818b9c07293a87798b3dfca5742dd5ca 100644
--- a/SpotifyRecorder.py
+++ b/SpotifyRecorder.py
@@ -109,6 +109,8 @@ class SpotifyRecorder:
             LOGGER.info(
                 f'>>> Recording track {index + 1}/{len(tracks)}: #{indexInPlaylist} "{track["track"]["name"]}"...')
             try:
+                self.__stop_playback_if_playing(deviceId)
+
                 filePath = self.__determine_file_path(indexInPlaylist + 1, track)
                 recorder = SpotifyAudioRecorder(self._audioDeviceName, filePath)
                 with recorder.record():
@@ -194,6 +196,10 @@ class SpotifyRecorder:
     def __play_track(self, deviceId: str, trackUri: str) -> None:
         self._spotify.start_playback(device_id=deviceId, uris=[trackUri])
 
+    def __stop_playback_if_playing(self, deviceId: str) -> None:
+        if self._spotify.current_playback()['is_playing']:
+            self._spotify.pause_playback(device_id=deviceId)
+
     def __wait_for_track_playing(self, expectedTrackId: str) -> float:
         LOGGER.debug(f'\t\tWait for track to start playing...')
         startTime = time.time()