diff --git a/drm/libmediadrm/DrmUtils.cpp b/drm/libmediadrm/DrmUtils.cpp
index 5cfd7c0..dd30744 100644
--- a/drm/libmediadrm/DrmUtils.cpp
+++ b/drm/libmediadrm/DrmUtils.cpp
@@ -78,7 +78,10 @@
 }
 
 sp<ICrypto> MakeCrypto(status_t *pstatus) {
-    return MakeObject<ICrypto, CryptoHal>(pstatus);
+    if (pstatus) {
+        *pstatus = OK;
+    }
+    return new CryptoHal();
 }
 
 }  // namespace DrmUtils
diff --git a/drm/libmediadrm/IMediaDrmService.cpp b/drm/libmediadrm/IMediaDrmService.cpp
index 0b650f2..020c063 100644
--- a/drm/libmediadrm/IMediaDrmService.cpp
+++ b/drm/libmediadrm/IMediaDrmService.cpp
@@ -42,13 +42,6 @@
     {
     }
 
-    virtual sp<ICrypto> makeCrypto() {
-        Parcel data, reply;
-        data.writeInterfaceToken(IMediaDrmService::getInterfaceDescriptor());
-        remote()->transact(MAKE_CRYPTO, data, &reply);
-        return interface_cast<ICrypto>(reply.readStrongBinder());
-    }
-
     virtual sp<IDrm> makeDrm() {
         Parcel data, reply;
         data.writeInterfaceToken(IMediaDrmService::getInterfaceDescriptor());
@@ -66,12 +59,6 @@
     uint32_t code, const Parcel& data, Parcel* reply, uint32_t flags)
 {
     switch (code) {
-        case MAKE_CRYPTO: {
-            CHECK_INTERFACE(IMediaDrmService, data, reply);
-            sp<ICrypto> crypto = makeCrypto();
-            reply->writeStrongBinder(IInterface::asBinder(crypto));
-            return NO_ERROR;
-        } break;
         case MAKE_DRM: {
             CHECK_INTERFACE(IMediaDrmService, data, reply);
             sp<IDrm> drm = makeDrm();
@@ -90,9 +77,4 @@
     return makeDrm();
 }
 
-template<>
-sp<ICrypto> IMediaDrmService::makeObject<ICrypto>() {
-    return makeCrypto();
-}
-
 } // namespace android
diff --git a/drm/libmediadrm/include/mediadrm/IMediaDrmService.h b/drm/libmediadrm/include/mediadrm/IMediaDrmService.h
index 7dcce94..899362f 100644
--- a/drm/libmediadrm/include/mediadrm/IMediaDrmService.h
+++ b/drm/libmediadrm/include/mediadrm/IMediaDrmService.h
@@ -25,7 +25,6 @@
 
 namespace android {
 
-struct ICrypto;
 struct IDrm;
 
 class IMediaDrmService: public IInterface
@@ -33,8 +32,6 @@
 public:
     DECLARE_META_INTERFACE(MediaDrmService);
 
-
-    virtual sp<ICrypto>         makeCrypto() = 0;
     virtual sp<IDrm>            makeDrm() = 0;
 
     template<typename I> sp<I>  makeObject();
