diff --git a/library/src/main/java/org/antennapod/audio/SonicAudioPlayer.java b/library/src/main/java/org/antennapod/audio/SonicAudioPlayer.java
index 976ce9c..e055513 100644
--- a/library/src/main/java/org/antennapod/audio/SonicAudioPlayer.java
+++ b/library/src/main/java/org/antennapod/audio/SonicAudioPlayer.java
@@ -612,6 +612,9 @@
     @SuppressWarnings("deprecation")
     public void decode() {
         mDecoderThread = new Thread(new Runnable() {
+
+            private int currHeadPos;
+
             @Override
             public void run() {
 
@@ -625,6 +628,7 @@
                 boolean sawOutputEOS = false;
 
                 while (!sawInputEOS && !sawOutputEOS && mContinue) {
+                    currHeadPos = mTrack.getPlaybackHeadPosition();
                     if (mCurrentState == STATE_PAUSED) {
                         System.out.println("Decoder changed to PAUSED");
                         try {
@@ -736,7 +740,18 @@
                 Log.d(TAG_TRACK, "Duration: " + (int) (mDuration / 1000));
                 Log.d(TAG_TRACK, "Current position: " + (int) (mExtractor.getSampleTime() / 1000));
                 mCodec.stop();
+
+                // wait for track to finish playing
+                int lastHeadPos;
+                do {
+                    lastHeadPos = currHeadPos;
+                    try {
+                        Thread.sleep(100);
+                        currHeadPos = mTrack.getPlaybackHeadPosition();
+                    } catch (InterruptedException e) { /* ignore */ }
+                } while(currHeadPos != lastHeadPos);
                 mTrack.stop();
+
                 Log.d(TAG_TRACK, "Stopped codec and track");
                 Log.d(TAG_TRACK, "Current position: " + (int) (mExtractor.getSampleTime() / 1000));
                 mIsDecoding = false;
