diff --git a/gralloc/Android.bp b/gralloc/Android.bp
index fe68772..26e35f9 100644
--- a/gralloc/Android.bp
+++ b/gralloc/Android.bp
@@ -63,7 +63,6 @@
         "libhidlbase",
         "libion",
         "libdmabufheap",
-        "libvmmem",
         "android.hardware.graphics.mapper@2.1",
         "android.hardware.graphics.mapper@3.0",
         "android.hardware.graphics.mapper@4.0",
diff --git a/gralloc/gr_dma_mgr.cpp b/gralloc/gr_dma_mgr.cpp
index 41ce6ef..7fe336d 100644
--- a/gralloc/gr_dma_mgr.cpp
+++ b/gralloc/gr_dma_mgr.cpp
@@ -56,6 +56,23 @@
 
 DmaManager *DmaManager::dma_manager_ = NULL;
 
+DmaManager::DmaManager() {
+  libvmmemPointer = dlopen("libvmmem.so", RTLD_LAZY);
+
+  if (libvmmemPointer) {
+    createVmMem = reinterpret_cast<std::unique_ptr<VmMem> (*)()>(dlsym(libvmmemPointer,
+                                                                 "CreateVmMem"));
+    const char* dlsym_error = dlerror();
+    if (dlsym_error) {
+      ALOGE("Cannot load symbol CreateVmMem: %s", dlsym_error);
+      return;
+    }
+  } else {
+    ALOGE("Could not load libvmmem: %s", dlerror());
+    return;
+  }
+}
+
 DmaManager *DmaManager::GetInstance() {
   if (!dma_manager_) {
     dma_manager_ = new DmaManager();
@@ -216,7 +233,7 @@
 
 int DmaManager::SecureMemPerms(AllocData *data) {
   int ret = 0;
-  std::unique_ptr<VmMem> vmmem = VmMem::CreateVmMem();
+  std::unique_ptr<VmMem> vmmem = createVmMem();
   if (!vmmem) {
     return -ENOMEM;
   }
diff --git a/gralloc/gr_dma_mgr.h b/gralloc/gr_dma_mgr.h
index e2b30d2..14636ed 100644
--- a/gralloc/gr_dma_mgr.h
+++ b/gralloc/gr_dma_mgr.h
@@ -71,7 +71,7 @@
   static DmaManager *GetInstance();
 
  private:
-  DmaManager() {}
+  DmaManager();
   int UnmapBuffer(void *base, unsigned int size, unsigned int offset);
   void GetVMPermission(BufferPermission perm, std::bitset<kVmPermissionMax> *vm_perm);
   void InitMemUtils();
@@ -86,6 +86,9 @@
   void *mem_utils_lib_ = {};
   CreateMemBufInterface CreateMemBuf_ = nullptr;
   DestroyMemBufInterface DestroyMemBuf_ = nullptr;
+
+  void* libvmmemPointer;
+  std::unique_ptr<VmMem> (*createVmMem)();
 };
 
 }  // namespace gralloc
