diff --git a/ChangeLog b/ChangeLog
index 71a3ecc..639a71d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2009-02-18  Alexander Kojevnikov  <alexander@kojevnikov.com>
+
+	* src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs:
+	Don't show the TrackProperties menu if the TrackEditor menu is going to
+	be shown (BGO #559003).
+
 2009-02-12  Gabriel Burt  <gabriel.burt@gmail.com>
 
 	* src/Core/Banshee.Core/Banshee.Base/Tests/FileNamePatternTests.cs: Remove
diff --git a/src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs b/src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs
index 1f2cf2f..6f84f10 100644
--- a/src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs
+++ b/src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs
@@ -229,11 +229,12 @@ namespace Banshee.Gui
                     UpdateAction ("DeleteTracksFromDriveAction", is_track_source && track_source.CanDeleteTracks, has_selection, source);
                     UpdateAction ("RemoveTracksFromLibraryAction", source.Parent is LibrarySource, has_selection, null);
                     
-                    UpdateAction ("TrackPropertiesAction", source.HasViewableTrackProperties, has_selection, source);
+                    UpdateAction ("TrackPropertiesAction", source.HasViewableTrackProperties && 
+                        !source.HasEditableTrackProperties, has_selection, source);
                     UpdateAction ("TrackEditorAction", source.HasEditableTrackProperties, has_selection, source);
                     UpdateAction ("RateTracksAction", in_database, has_selection, null);
                     UpdateAction ("AddToPlaylistAction", in_database && primary_source != null &&
-                            primary_source.SupportsPlaylists && !primary_source.PlaylistsReadOnly, has_selection, null);
+                        primary_source.SupportsPlaylists && !primary_source.PlaylistsReadOnly, has_selection, null);
 
                     if (primary_source != null) {
                         this["DeleteTracksFromDriveAction"].Label = String.Format (Catalog.GetString ("_Delete From {0}"), primary_source.StorageName);
