Index: Source/UI/UiComponents/Media/General/Consts.cs
===================================================================
--- Source/UI/UiComponents/Media/General/Consts.cs	(revision 3811)
+++ Source/UI/UiComponents/Media/General/Consts.cs	(working copy)
@@ -192,6 +192,7 @@
     public const string RES_SAVE_PLAYLIST_FAILED_LOCAL_MEDIAITEMS_TEXT = "[Media.CannotSavePlaylistWithLocalMediaItems]";
     public const string RES_SAVE_PLAYLIST_LOCAL_SUCCESSFUL_TEXT = "[Media.SavePlaylistLocalSuccessfulText]";
     public const string RES_SAVE_PLAYLIST_SERVER_SUCCESSFUL_TEXT = "[Media.SavePlaylistServerSuccessfulText]";
+    public const string RES_SAVE_PLAYLIST_FAILED_PLAYLIST_ALREADY_EXISTS = "[Media.SavePlaylistFailedAlreadyExists]";
 
     public const string RES_PLAYLIST_LOAD_NO_PLAYLIST = "[Media.PlaylistLoadNoPlaylistText]";
     public const string RES_PLAYLIST_LOAD_ERROR_LOADING = "[Media.PlaylistLoadErrorLoadingPlaylist]";
Index: Source/UI/UiComponents/Media/Language/strings_en.xml
===================================================================
--- Source/UI/UiComponents/Media/Language/strings_en.xml	(revision 3811)
+++ Source/UI/UiComponents/Media/Language/strings_en.xml	(working copy)
@@ -210,6 +210,7 @@
     <String Name="SavePlaylistLocalSuccessfulText" Text="The playlist was successfully saved in file '{0}'."/>
     <String Name="SavePlaylistServerSuccessfulText" Text="The playlist was successfully saved at the server."/>
     <String Name="SavePlaylistFailedText" Text="The playlist could not be saved. Error message: '{0}'"/>
+	<String Name="SavePlaylistFailedAlreadyExists" Text="The playlist could not be saved : Playlist '{0}' already exists"/>
     <String Name="ChoosePlaylistsToBeRemovedText" Text="Choose playlists to be removed"/>
     <String Name="PlaylistNameInfoLabel" Text="Playlist name"/>
     <String Name="PlaylistTypeInfoLabel" Text="Playlist type"/>
Index: Source/UI/UiComponents/Media/Models/ManagePlaylistsModel.cs
===================================================================
--- Source/UI/UiComponents/Media/Models/ManagePlaylistsModel.cs	(revision 3811)
+++ Source/UI/UiComponents/Media/Models/ManagePlaylistsModel.cs	(working copy)
@@ -99,7 +99,7 @@
 
     void OnPlaylistNameChanged(AbstractProperty prop, object oldVal)
     {
-      IsPlaylistNameValid = !string.IsNullOrEmpty(PlaylistName);
+      IsPlaylistNameValid = !string.IsNullOrEmpty(PlaylistName.Trim());
       if (_playlist != null)
         _playlist.Name = PlaylistName;
     }
@@ -315,16 +315,33 @@
       {
         if (_playlistLocation == PlaylistLocation.Local)
         {
-          string fileName;
-          _localPlaylistsHandler.SavePlaylist(playlistData, out fileName);
-          _message = LocalizationHelper.Translate(Consts.RES_SAVE_PLAYLIST_LOCAL_SUCCESSFUL_TEXT, fileName);
-          workflowManager.NavigatePush(Consts.WF_STATE_ID_PLAYLIST_SAVE_SUCCESSFUL);
+          if (!(_localPlaylistsHandler.Playlists.Any<PlaylistRawData>(p => p.Name == _playlist.Name)))
+          {
+            string fileName;
+            _localPlaylistsHandler.SavePlaylist(playlistData, out fileName);
+            _message = LocalizationHelper.Translate(Consts.RES_SAVE_PLAYLIST_LOCAL_SUCCESSFUL_TEXT, fileName);
+            workflowManager.NavigatePush(Consts.WF_STATE_ID_PLAYLIST_SAVE_SUCCESSFUL);
+          }
+          else
+          {
+            //TODO : Add new screen to allow playlist name change instead of error message
+            SaveFailed(LocalizationHelper.Translate(Consts.RES_SAVE_PLAYLIST_FAILED_PLAYLIST_ALREADY_EXISTS, _playlist.Name));
+          }
         }
         else
         {
-          Models.ServerPlaylists.SavePlaylist(playlistData);
-          _message = LocalizationHelper.Translate(Consts.RES_SAVE_PLAYLIST_SERVER_SUCCESSFUL_TEXT);
-          workflowManager.NavigatePush(Consts.WF_STATE_ID_PLAYLIST_SAVE_SUCCESSFUL);
+          if (!(Models.ServerPlaylists.GetPlaylists().Any<PlaylistInformationData>(p => p.Name == _playlist.Name)))
+          {
+            Models.ServerPlaylists.SavePlaylist(playlistData);
+            _message = LocalizationHelper.Translate(Consts.RES_SAVE_PLAYLIST_SERVER_SUCCESSFUL_TEXT);
+            workflowManager.NavigatePush(Consts.WF_STATE_ID_PLAYLIST_SAVE_SUCCESSFUL);
+          }
+          else
+          {
+            //TODO : Add new screen to allow playlist name change instead of error message
+            SaveFailed(LocalizationHelper.Translate(Consts.RES_SAVE_PLAYLIST_FAILED_PLAYLIST_ALREADY_EXISTS, _playlist.Name));
+          }
+
         }
       }
       catch (Exception e)
