diff --git a/src/libtomahawk/playlist/TrackView.cpp b/src/libtomahawk/playlist/TrackView.cpp
index 8732ec53f..5a66e2ba7 100644
--- a/src/libtomahawk/playlist/TrackView.cpp
+++ b/src/libtomahawk/playlist/TrackView.cpp
@@ -248,7 +248,6 @@ TrackView::autoPlayResolveFinished( const query_ptr& query, int row )
     const QModelIndex sib = index.sibling( index.row() + 1, index.column() );
     if ( sib.isValid() )
         startAutoPlay( sib );
-
 }
 
 
@@ -308,7 +307,6 @@ TrackView::tryToPlayItem( const QModelIndex& index )
     PlayableItem* item = m_model->itemFromIndex( m_proxyModel->mapToSource( index ) );
     if ( item && !item->query().isNull() )
     {
-        m_proxyModel->setCurrentIndex( index );
         AudioEngine::instance()->playItem( playlistInterface(), item->query() );
 
         return true;
@@ -719,19 +717,14 @@ TrackView::mousePressEvent( QMouseEvent* event )
 Tomahawk::playlistinterface_ptr
 TrackView::playlistInterface() const
 {
-    if ( m_playlistInterface.isNull() )
-    {
-        return proxyModel()->playlistInterface();
-    }
-
-    return m_playlistInterface;
+    return proxyModel()->playlistInterface();
 }
 
 
 void
 TrackView::setPlaylistInterface( const Tomahawk::playlistinterface_ptr& playlistInterface )
 {
-    m_playlistInterface = playlistInterface;
+    proxyModel()->setPlaylistInterface( playlistInterface );
 }
 
 
diff --git a/src/libtomahawk/playlist/TrackView.h b/src/libtomahawk/playlist/TrackView.h
index a9fdb09cb..28ccacf8b 100644
--- a/src/libtomahawk/playlist/TrackView.h
+++ b/src/libtomahawk/playlist/TrackView.h
@@ -146,7 +146,6 @@ private:
 
     bool m_updateContextView;
 
-    Tomahawk::playlistinterface_ptr m_playlistInterface;
     QModelIndex m_hoveredIndex;
     QModelIndex m_contextMenuIndex;
 
diff --git a/src/libtomahawk/playlist/TreeView.cpp b/src/libtomahawk/playlist/TreeView.cpp
index d41eedef9..723677aea 100644
--- a/src/libtomahawk/playlist/TreeView.cpp
+++ b/src/libtomahawk/playlist/TreeView.cpp
@@ -232,12 +232,15 @@ TreeView::onItemActivated( const QModelIndex& index )
     if ( item )
     {
         if ( !item->artist().isNull() )
+        {
             ViewManager::instance()->show( item->artist() );
+        }
         else if ( !item->album().isNull() )
+        {
             ViewManager::instance()->show( item->album() );
+        }
         else if ( !item->result().isNull() && item->result()->isOnline() )
         {
-            m_model->setCurrentItem( item->index );
             AudioEngine::instance()->playItem( m_proxyModel->playlistInterface(), item->result() );
         }
     }