diff --git a/src/Dap/Banshee.Dap/Banshee.Dap/DapLibrarySync.cs b/src/Dap/Banshee.Dap/Banshee.Dap/DapLibrarySync.cs
index 2930cfc..80ec7f9 100644
--- a/src/Dap/Banshee.Dap/Banshee.Dap/DapLibrarySync.cs
+++ b/src/Dap/Banshee.Dap/Banshee.Dap/DapLibrarySync.cs
@@ -239,7 +239,7 @@ namespace Banshee.Dap
                             // If it's empty, don't leave it on the device
                             to.Unmap ();
                         } else {
-                            sync.Dap.AddChildSource (to);
+                            sync.Dap.AddPlaylistSource (to, library);
                         }
                     }
                 }
diff --git a/src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs b/src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs
index fa93b70..04517fc 100644
--- a/src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs
+++ b/src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs
@@ -43,6 +43,7 @@ using Banshee.Collection;
 using Banshee.Playlist;
 using Banshee.Collection.Database;
 using Banshee.Hardware;
+using Banshee.Library;
 using Banshee.MediaEngine;
 using Banshee.MediaProfiles;
 using Banshee.Preferences;
@@ -288,6 +289,19 @@ namespace Banshee.Dap
             }
         }
 
+        internal void AddPlaylistSource (PlaylistSource playlistsource, LibrarySource lib)
+        {
+            if (lib.Equals (ServiceManager.SourceManager.MusicLibrary)) {
+                music_group_source.AddChildSource (playlistsource);
+            } else if (lib.Equals (ServiceManager.SourceManager.VideoLibrary)) {
+                video_group_source.AddChildSource (playlistsource);
+            } else {
+                //we don't know who's the parent, so we add the child directly
+                //to the source, as it was done before as default
+                AddChildSource (playlistsource);
+            }
+        }
+
         public void RemovePlaylists ()
         {
             // First remove any playlists on the device
