diff --git a/jellyfin_kodi/database/jellyfin_db.py b/jellyfin_kodi/database/jellyfin_db.py
index c7a0ba36..0cbe9dd6 100644
--- a/jellyfin_kodi/database/jellyfin_db.py
+++ b/jellyfin_kodi/database/jellyfin_db.py
@@ -71,19 +71,10 @@ class JellyfinDatabase():
         except TypeError:
             return
 
-    def get_season_kodi_parent_path_id(self, *args):
-
-        try:
-            self.cursor.execute(QU.get_season_kodi_parent_path_id_obj, args)
-
-            return self.cursor.fetchone()[0]
-        except TypeError:
-            return
-
     def get_episode_kodi_parent_path_id(self, *args):
 
         try:
-            self.cursor.execute(QU.get_episode_kodi_parent_path_id_obj, args)
+            self.cursor.execute(QU.get_episode_kodi_parent_path_id, args)
 
             return self.cursor.fetchone()[0]
         except TypeError:
diff --git a/jellyfin_kodi/database/queries.py b/jellyfin_kodi/database/queries.py
index 36dc50ba..6136a50e 100644
--- a/jellyfin_kodi/database/queries.py
+++ b/jellyfin_kodi/database/queries.py
@@ -166,16 +166,7 @@ WHERE           jellyfin_parent_id = ?
 delete_version = """
 DELETE FROM     version
 """
-get_season_kodi_parent_path_id = """
-SELECT          sh.kodi_pathid
-FROM            jellyfin s
-JOIN            jellyfin sh
-ON              s.parent_id = sh.kodi_id
-WHERE           s.media_type = ?
-AND             sh.media_type = ?
-AND             s.id = ?
-"""
-get_season_kodi_parent_path_id_obj = ["season", "tvshow", "{SeasonId}"]
+
 get_episode_kodi_parent_path_id = """
 SELECT          sh.kodi_pathid
 FROM            jellyfin e
@@ -183,9 +174,9 @@ JOIN            jellyfin s
 ON              e.parent_id = s.kodi_id
 JOIN            jellyfin sh
 ON              s.parent_id = sh.kodi_id
-WHERE           e.media_type = "episode"
-AND             s.media_type = "season"
-AND             sh.media_type = "tvshow"
-AND             e.kodi_fileid = 698;
+WHERE           e.media_type = ?
+AND             s.media_type = ?
+AND             sh.media_type = ?
+AND             e.jellyfin_id = ?;
 """
-get_episode_kodi_parent_path_id = ["episode", "season", "tvshow", "{EpisodeId}"]
\ No newline at end of file
+get_episode_kodi_parent_path_id_obj = ["episode", "season", "tvshow", "{Id}"]
\ No newline at end of file
diff --git a/jellyfin_kodi/objects/kodi/kodi.py b/jellyfin_kodi/objects/kodi/kodi.py
index b9650149..09909a50 100644
--- a/jellyfin_kodi/objects/kodi/kodi.py
+++ b/jellyfin_kodi/objects/kodi/kodi.py
@@ -77,6 +77,9 @@ class Kodi(object):
         except TypeError:
             return
 
+    def update_path_parent_id(self, path_id, parent_path_id):
+        self.cursor.execute(QU.update_path_parent_id, (parent_path_id, path_id))
+
     def update_path(self, *args):
         self.cursor.execute(QU.update_path, args)
 
diff --git a/jellyfin_kodi/objects/kodi/queries.py b/jellyfin_kodi/objects/kodi/queries.py
index 1e652381..e73a6bf3 100644
--- a/jellyfin_kodi/objects/kodi/queries.py
+++ b/jellyfin_kodi/objects/kodi/queries.py
@@ -345,6 +345,11 @@ INSERT INTO     art(media_id, media_type, type, url)
 VALUES          (?, ?, ?, ?)
 """
 
+update_path_parent_id = """
+UPDATE      path
+SET         idParentPath = ?
+where       idPath = ?
+"""
 
 update_path = """
 UPDATE      path
diff --git a/jellyfin_kodi/objects/tvshows.py b/jellyfin_kodi/objects/tvshows.py
index 33f06b75..36237f4b 100644
--- a/jellyfin_kodi/objects/tvshows.py
+++ b/jellyfin_kodi/objects/tvshows.py
@@ -116,7 +116,6 @@ class TVShows(KodiDb):
             self.tvshow_add(obj)
 
         self.link(*values(obj, QU.update_tvshow_link_obj))
-        # Ne marche pas en mode update...
         self.update_path(*values(obj, QU.update_path_tvshow_obj))
         self.add_tags(*values(obj, QU.add_tags_tvshow_obj))
         self.add_people(*values(obj, QU.add_people_tvshow_obj))
@@ -153,8 +152,6 @@ class TVShows(KodiDb):
             season_id = self.get_season(*values(obj, QU.get_season_special_obj))
             self.artwork.add(obj['Artwork'], season_id, "season")
 
-# verifier ici
-
         for season in season_episodes:
             for episodes in server.get_episode_by_season(season_episodes[season], season):
 
@@ -180,6 +177,9 @@ class TVShows(KodiDb):
         self.jellyfin_db.add_reference(*values(obj, QUEM.add_reference_tvshow_obj))
         LOG.debug("ADD tvshow [%s/%s/%s] %s: %s", obj['TopPathId'], obj['PathId'], obj['ShowId'], obj['Title'], obj['Id'])
 
+        # TODO: Greg
+        self.update_path_parent_id(obj['PathId'], obj['TopPathId'])
+
     def tvshow_update(self, obj):
 
         ''' Update object to kodi.
@@ -190,10 +190,15 @@ class TVShows(KodiDb):
         obj['Unique'] = self.get_unique_id(*values(obj, QU.get_unique_id_tvshow_obj))
         self.update_unique_id(*values(obj, QU.update_unique_id_tvshow_obj))
 
+        obj['TopPathId'] = self.get_path(obj['TopLevel'])
+
         self.update(*values(obj, QU.update_tvshow_obj))
         self.jellyfin_db.update_reference(*values(obj, QUEM.update_reference_obj))
         LOG.debug("UPDATE tvshow [%s/%s] %s: %s", obj['PathId'], obj['ShowId'], obj['Title'], obj['Id'])
 
+        # TODO: Greg
+        self.update_path_parent_id(obj['PathId'], obj['TopPathId'])
+
     def get_path_filename(self, obj):
 
         ''' Get the path and build it into protocol://path
@@ -383,6 +388,12 @@ class TVShows(KodiDb):
             return self.episode_add(obj)
 
         self.jellyfin_db.add_reference(*values(obj, QUEM.add_reference_episode_obj))
+
+        # TODO Greg
+        parentPathId = self.jellyfin_db.get_episode_kodi_parent_path_id(*values(obj, QUEM.get_episode_kodi_parent_path_id_obj))
+        LOG.debug("Setting episode pathParentId, episode %s, title %s, pathId %s, pathParentId %s", obj['Id'], obj['Title'], obj['PathId'], parentPathId)
+        self.update_path_parent_id(obj['PathId'], parentPathId)
+
         LOG.debug("ADD episode [%s/%s] %s: %s", obj['PathId'], obj['FileId'], obj['Id'], obj['Title'])
 
     def episode_update(self, obj):