diff --git a/examples/player/player.cpp b/examples/player/player.cpp
index 4043c5c..264c303 100644
--- a/examples/player/player.cpp
+++ b/examples/player/player.cpp
@@ -106,12 +106,15 @@ Player::Player(QWidget *parent)
     slider->setRange(0, player->duration() / 1000);
 
     connect(slider, SIGNAL(sliderMoved(int)), this, SLOT(seek(int)));
-    
-    audioEndpointSelector = qobject_cast<QAudioEndpointSelector*>(player->service()->control(QAudioEndpointSelector_iid));
-    connect(audioEndpointSelector, SIGNAL(activeEndpointChanged(const QString&)), this, SLOT(handleAudioOutputChangedSignal(const QString&)));
+   
+    if (player->service()){
+        audioEndpointSelector = qobject_cast<QAudioEndpointSelector*>(player->service()->control(QAudioEndpointSelector_iid));
+        connect(audioEndpointSelector, SIGNAL(activeEndpointChanged(const QString&)), this, SLOT(handleAudioOutputChangedSignal(const QString&)));
+    }
 
 #ifndef Q_OS_SYMBIAN
     QPushButton *openButton = new QPushButton(tr("Open"), this);
+    openButton->setEnabled(player->service());
 
     connect(openButton, SIGNAL(clicked()), this, SLOT(open()));
 #endif
@@ -226,13 +229,17 @@ Player::Player(QWidget *parent)
 
     metaDataChanged();
 
-    QStringList fileNames = qApp->arguments();
-    fileNames.removeAt(0);
-    foreach (QString const &fileName, fileNames) {
-        if (fileName.startsWith(QLatin1String("http://")))
-            playlist->addMedia(QUrl(fileName));
-        else if (QFileInfo(fileName).exists())
-            playlist->addMedia(QUrl::fromLocalFile(fileName));
+    if (player->service()){
+        QStringList fileNames = qApp->arguments();
+        fileNames.removeAt(0);
+        foreach (QString const &fileName, fileNames) {
+            if (fileName.startsWith(QLatin1String("http://")))
+                playlist->addMedia(QUrl(fileName));
+            else if (QFileInfo(fileName).exists())
+                playlist->addMedia(QUrl::fromLocalFile(fileName));
+        }
+    }else{
+        QMessageBox::information(this, QLatin1String("Player example"), QLatin1String("No mediaservice plugins found to play media"));
     }
 }
 
@@ -514,6 +521,17 @@ void Player::createMenus()
     setAudioOutputSpeaker = new QAction(tr("Speaker output"), this);
     connect(setAudioOutputSpeaker, SIGNAL(triggered()), this, SLOT(handleAudioOutputSpeaker()));
 
+    // disable menu items if no player service is present
+    if (!player->service()){
+        toggleAspectRatio->setEnabled(false);
+        showYoutubeDialog->setEnabled(false);
+        setAudioOutputDefault->setEnabled(false);
+        setAudioOutputAll->setEnabled(false);
+        setAudioOutputNone->setEnabled(false);
+        setAudioOutputEarphone->setEnabled(false);
+        setAudioOutputSpeaker->setEnabled(false)
+    }
+
     audioOutputMenu = new QMenu(tr("Set Audio Output"), this);
     audioOutputMenu->addAction(setAudioOutputDefault);
     audioOutputMenu->addAction(setAudioOutputAll);
@@ -552,34 +570,41 @@ void Player::handleAspectRatio(bool aspectRatio)
 
 void Player::handleAudioOutputDefault()
 {
-    audioEndpointSelector->setActiveEndpoint("Default");
+    if (audioEndpointSelector)
+        audioEndpointSelector->setActiveEndpoint("Default");
 }
 
 void Player::handleAudioOutputAll()
 {
-    audioEndpointSelector->setActiveEndpoint("All");
+    if (audioEndpointSelector)
+        audioEndpointSelector->setActiveEndpoint("All");
 }
 
 void Player::handleAudioOutputNone()
 {
-    audioEndpointSelector->setActiveEndpoint("None");
+    if (audioEndpointSelector)
+        audioEndpointSelector->setActiveEndpoint("None");
 }
 
 void Player::handleAudioOutputEarphone()
 {
-    audioEndpointSelector->setActiveEndpoint("Earphone");
+    if (audioEndpointSelector)
+        audioEndpointSelector->setActiveEndpoint("Earphone");
 }
 
 void Player::handleAudioOutputSpeaker()
 {
-    audioEndpointSelector->setActiveEndpoint("Speaker");
+    if (audioEndpointSelector)
+        audioEndpointSelector->setActiveEndpoint("Speaker");
 }
 
 void Player::handleAudioOutputChangedSignal(const QString&)
 {
-    QMessageBox msgBox;
-    msgBox.setText("Output changed: " + audioEndpointSelector->activeEndpoint());
-    msgBox.exec();
+    if (audioEndpointSelector){
+        QMessageBox msgBox;
+        msgBox.setText("Output changed: " + audioEndpointSelector->activeEndpoint());
+        msgBox.exec();
+    }
 }
 
 void Player::hideOrShowCoverArt()
