diff --git a/media/libmedia/IMediaSource.cpp b/media/libmedia/IMediaSource.cpp
index 1770fb8..8376c0a 100644
--- a/media/libmedia/IMediaSource.cpp
+++ b/media/libmedia/IMediaSource.cpp
@@ -18,8 +18,6 @@
 #define LOG_TAG "BpMediaSource"
 #include <utils/Log.h>
 
-#include <utils/CallStack.h>
-
 #include <inttypes.h>
 #include <stdint.h>
 #include <sys/types.h>
@@ -111,16 +109,9 @@
     BpMediaSource(const sp<IBinder>& impl)
         : BpInterface<IMediaSource>(impl)
     {
-        mStarted = false;
     }
 
     virtual status_t start(MetaData *params) {
-        if (mStarted) {
-            ALOGD("Source was started previously from:");
-            mStartStack.log(LOG_TAG);
-            ALOGD("Now from:");
-            CallStack stack(LOG_TAG);
-        }
         ALOGV("start");
         Parcel data, reply;
         data.writeInterfaceToken(BpMediaSource::getInterfaceDescriptor());
@@ -128,10 +119,6 @@
             params->writeToParcel(data);
         }
         status_t ret = remote()->transact(START, data, &reply);
-        if (ret == NO_ERROR) {
-            mStarted = true;
-            mStartStack.update();
-        }
         if (ret == NO_ERROR && params) {
             ALOGW("ignoring potentially modified MetaData from start");
             ALOGW("input:");
@@ -144,7 +131,6 @@
     }
 
     virtual status_t stop() {
-        mStarted = false;
         ALOGV("stop");
         Parcel data, reply;
         data.writeInterfaceToken(BpMediaSource::getInterfaceDescriptor());
@@ -219,8 +205,7 @@
     // NuPlayer passes pointers-to-metadata around, so we use this to keep the metadata alive
     // XXX: could we use this for caching, or does metadata change on the fly?
     sp<MetaData> mMetaData;
-    bool mStarted;
-    CallStack mStartStack;
+
 };
 
 IMPLEMENT_META_INTERFACE(MediaSource, "android.media.IMediaSource");
