diff --git a/libhwcomposer/Android.mk b/libhwcomposer/Android.mk
index 1618ef5..0ca7ca1 100644
--- a/libhwcomposer/Android.mk
+++ b/libhwcomposer/Android.mk
@@ -8,7 +8,8 @@
 LOCAL_C_INCLUDES              := $(common_includes) $(kernel_includes)
 LOCAL_SHARED_LIBRARIES        := $(common_libs) libEGL liboverlay libgenlock \
                                  libexternal libqdutils libhardware_legacy \
-                                 libdl libmemalloc libqservice libsync libbinder
+                                 libdl libmemalloc libqservice libsync \
+                                 libbinder libmedia
 LOCAL_CFLAGS                  := $(common_flags) -DLOG_TAG=\"qdhwcomposer\"
 LOCAL_ADDITIONAL_DEPENDENCIES := $(common_deps)
 LOCAL_SRC_FILES               := hwc.cpp          \
diff --git a/libhwcomposer/hwc_qclient.cpp b/libhwcomposer/hwc_qclient.cpp
index 32dc451..ee31e6c 100644
--- a/libhwcomposer/hwc_qclient.cpp
+++ b/libhwcomposer/hwc_qclient.cpp
@@ -39,9 +39,14 @@
 namespace qClient {
 
 // ----------------------------------------------------------------------------
-QClient::QClient(hwc_context_t *ctx) : mHwcContext(ctx)
+QClient::QClient(hwc_context_t *ctx) : mHwcContext(ctx),
+        mMPDeathNotifier(new MPDeathNotifier(ctx))
 {
+
     ALOGD_IF(QCLIENT_DEBUG, "QClient Constructor invoked");
+    //The only way to make this class in this process subscribe to media
+    //player's death.
+    IMediaDeathNotifier::getMediaPlayerService();
 }
 
 QClient::~QClient()
@@ -80,4 +85,12 @@
         mHwcContext->proc->invalidate(mHwcContext->proc);
 }
 
+void QClient::MPDeathNotifier::died() {
+    ALOGD_IF(QCLIENT_DEBUG, "Media Player died");
+    mHwcContext->mSecuring = false;
+    mHwcContext->mSecureMode = false;
+    if(mHwcContext->proc)
+        mHwcContext->proc->invalidate(mHwcContext->proc);
+}
+
 }
diff --git a/libhwcomposer/hwc_qclient.h b/libhwcomposer/hwc_qclient.h
index 1f3944f..0ee6de1 100644
--- a/libhwcomposer/hwc_qclient.h
+++ b/libhwcomposer/hwc_qclient.h
@@ -34,6 +34,7 @@
 #include <sys/types.h>
 #include <cutils/log.h>
 #include <binder/IServiceManager.h>
+#include <media/IMediaDeathNotifier.h>
 #include <IQClient.h>
 
 struct hwc_context_t;
@@ -46,10 +47,21 @@
     QClient(hwc_context_t *ctx);
     virtual ~QClient();
     virtual void notifyCallback(uint32_t msg, uint32_t value);
+
 private:
+    //Notifies of Media Player death
+    class MPDeathNotifier : public android::IMediaDeathNotifier {
+    public:
+        MPDeathNotifier(hwc_context_t* ctx) : mHwcContext(ctx){}
+        virtual void died();
+        hwc_context_t *mHwcContext;
+    };
+
     void securing(uint32_t startEnd);
     void unsecuring(uint32_t startEnd);
+
     hwc_context_t *mHwcContext;
+    const android::sp<android::IMediaDeathNotifier> mMPDeathNotifier;
 };
 }; // namespace qClient
 #endif // ANDROID_QCLIENT_H
