--- a/src/ohplaylist.cxx
+++ b/src/ohplaylist.cxx
@@ -486,9 +486,11 @@
 int OHPlaylist::id(const SoapIncoming& sc, SoapOutgoing& data)
 {
     LOGDEB("OHPlaylist::id" << endl);
-    if (!m_active && m_dev->m_ohpr) {
-        m_dev->m_ohpr->iSetSourceIndexByName("Playlist");
-    }
+    if (!m_active) {
+        LOGERR("OHPlaylist::id: not active" << endl);
+        return UPNP_E_INTERNAL_ERROR;
+    }
+
     const MpdStatus &mpds = m_dev->getMpdStatusNoUpdate();
     data.addarg("Value", mpds.songid == -1 ? "0" : SoapHelp::i2s(mpds.songid));
     return UPNP_E_SUCCESS;
@@ -736,8 +738,10 @@
 int OHPlaylist::idArray(const SoapIncoming& sc, SoapOutgoing& data)
 {
     LOGDEB("OHPlaylist::idArray" << endl);
-    if (!m_active && m_dev->m_ohpr) {
-        m_dev->m_ohpr->iSetSourceIndexByName("Playlist");
+    if (!m_active) {
+        // See comment in seekId()
+        LOGERR("OHPlaylist::idArray: not active" << endl);
+        return UPNP_E_INTERNAL_ERROR;
     }
     string idarray;
     int token;