diff --git a/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MediaPanelContents.cs b/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MediaPanelContents.cs
index 72b3585..92c0e98 100644
--- a/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MediaPanelContents.cs
+++ b/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MediaPanelContents.cs
@@ -41,6 +41,7 @@ using Banshee.Sources.Gui;
 using Banshee.Collection;
 using Banshee.Collection.Gui;
 using Banshee.MediaEngine;
+using Banshee.Gui;
 using Banshee.Gui.Widgets;
 
 namespace Banshee.MeeGo
@@ -82,6 +83,9 @@ namespace Banshee.MeeGo
         {
             ServiceManager.SourceManager.ActiveSourceChanged += OnActiveSourceChanged;
 
+            ServiceManager.Get<InterfaceActionService> ().TrackActions ["SearchForSameArtistAction"].Activated += OnProgrammaticSearch;
+            ServiceManager.Get<InterfaceActionService> ().TrackActions ["SearchForSameAlbumAction"].Activated += OnProgrammaticSearch;
+
             ServiceManager.PlayerEngine.ConnectEvent ((args) => track_info_display.Visible =
                 ServiceManager.PlayerEngine.CurrentState != PlayerState.Idle,
                 PlayerEvent.StateChange | PlayerEvent.StartOfStream);
@@ -246,6 +250,14 @@ namespace Banshee.MeeGo
 
 #region Event Handlers
 
+        private void OnProgrammaticSearch (object o, EventArgs args)
+        {
+            Source source = ServiceManager.SourceManager.ActiveSource;
+            search_entry.Ready = false;
+            search_entry.Query = source.FilterQuery;
+            search_entry.Ready = true;
+        }
+
         private void OnBrowserViewSelectionChanged (object o, EventArgs args)
         {
             // Scroll the raising filter view to the top if "all" is selected
