diff --git a/resources/lib/kodimonitor.py b/resources/lib/kodimonitor.py
index 3d539911..557e528d 100644
--- a/resources/lib/kodimonitor.py
+++ b/resources/lib/kodimonitor.py
@@ -105,11 +105,15 @@ class KodiMonitor(xbmc.Monitor):
             kodi_id = None
 
             if KODI >= 17 and xbmc.Player().isPlayingVideo():
+                ''' Seems to misbehave when playback is not terminated prior to playing new content.
+                    The kodi id remains that of the previous title. Maybe onPlay happens before
+                    this information is updated. Added a failsafe further below.
+                '''
                 item = xbmc.Player().getVideoInfoTag()
                 kodi_id = item.getDbId()
                 item_type = item.getMediaType()
 
-            if kodi_id is None or int(kodi_id) == -1:
+            if kodi_id is None or int(kodi_id) == -1 or 'item' in data and data['item'].get('id') != kodi_id:
                 item = data['item']
                 kodi_id = item['id']
                 item_type = item['type']
@@ -227,13 +231,14 @@ class SpecialMonitor(threading.Thread):
             isPlaying = player.isPlaying()
 
             if (not isPlaying and xbmc.getCondVisibility('Window.IsVisible(DialogContextMenu.xml)') and
-                xbmc.getInfoLabel('Control.GetLabel(1002)') == xbmc.getLocalizedString(12021)):
+                xbmc.getInfoLabel('Control.GetLabel(1002)').decode('utf-8') == xbmc.getLocalizedString(12021)):
 
                 control = int(xbmcgui.Window(10106).getFocusId())
                 if control == 1002: # Start from beginning
                     log.info("Resume dialog: Start from beginning selected.")
                     window('emby.resume', clear=True)
                 else:
+                    log.info("Resume dialog: Resume selected.")
                     window('emby.resume', value="true")
 
             elif isPlaying and not window('emby.external_check'):