diff --git a/jellyfin_kodi/monitor.py b/jellyfin_kodi/monitor.py
index ca10193a..1f86fb78 100644
--- a/jellyfin_kodi/monitor.py
+++ b/jellyfin_kodi/monitor.py
@@ -389,6 +389,8 @@ class Monitor(xbmc.Monitor):
             elif command == 'SetSubtitleStreamIndex':
                 self.player.set_audio_subs(None, args['Index'])
 
+            # Kodi needs a bit of time to update it's current status
+            xbmc.sleep(500)
             self.player.report_playback()
 
         elif command == 'DisplayMessage':
diff --git a/jellyfin_kodi/player.py b/jellyfin_kodi/player.py
index 08b8beb6..8eefaf69 100644
--- a/jellyfin_kodi/player.py
+++ b/jellyfin_kodi/player.py
@@ -155,6 +155,10 @@ class Player(xbmc.Player):
         LOG.info("-->[ play/%s ] %s", item['Id'], item)
 
     def set_audio_subs(self, audio=None, subtitle=None):
+        if audio:
+            audio=int(audio)
+        if subtitle:
+            subtitle=int(subtitle)
 
         ''' Only for after playback started
         '''
@@ -169,7 +173,7 @@ class Player(xbmc.Player):
             if audio and len(self.getAvailableAudioStreams()) > 1:
                 self.setAudioStream(audio - 1)
 
-            if subtitle == -1 or subtitle is None:
+            if subtitle is None or subtitle == -1:
                 self.showSubtitles(False)
 
                 return