diff --git a/libgralloc1/gr_device_impl.cpp b/libgralloc1/gr_device_impl.cpp
index fc0b35d..3649111 100644
--- a/libgralloc1/gr_device_impl.cpp
+++ b/libgralloc1/gr_device_impl.cpp
@@ -65,10 +65,10 @@
   if (!strcmp(name, GRALLOC_HARDWARE_MODULE_ID)) {
     gralloc1::GrallocImpl * /*gralloc1_device_t*/ dev = gralloc1::GrallocImpl::GetInstance(module);
     *device = reinterpret_cast<hw_device_t *>(dev);
-    if (dev->Init()) {
+    if (dev) {
       status = 0;
     } else {
-      ALOGE(" Error in opening gralloc1 device");
+      ALOGE("Fatal error opening gralloc1 device");
     }
   }
   return status;
@@ -83,20 +83,20 @@
   common.close = CloseDevice;
   getFunction = GetFunction;
   getCapabilities = GetCapabilities;
+
+  initalized_ = Init();
 }
 
 bool GrallocImpl::Init() {
   buf_mgr_ = BufferManager::GetInstance();
-  return true;
+  return buf_mgr_ != nullptr;
 }
 
 GrallocImpl::~GrallocImpl() {
 }
 
-int GrallocImpl::CloseDevice(hw_device_t *device) {
-  GrallocImpl *impl = reinterpret_cast<GrallocImpl *>(device);
-  delete impl;
-
+int GrallocImpl::CloseDevice(hw_device_t *device __unused) {
+  // No-op since the gralloc device is a singleton
   return 0;
 }
 
diff --git a/libgralloc1/gr_device_impl.h b/libgralloc1/gr_device_impl.h
index 80c3182..5a3e7e9 100644
--- a/libgralloc1/gr_device_impl.h
+++ b/libgralloc1/gr_device_impl.h
@@ -44,8 +44,6 @@
 
 class GrallocImpl : public gralloc1_device_t {
  public:
-  ~GrallocImpl();
-  bool Init();
   static int CloseDevice(hw_device_t *device);
   static void GetCapabilities(struct gralloc1_device *device, uint32_t *out_count,
                               int32_t * /*gralloc1_capability_t*/ out_capabilities);
@@ -54,7 +52,11 @@
 
   static GrallocImpl* GetInstance(const struct hw_module_t *module) {
     static GrallocImpl *instance = new GrallocImpl(module);
-    return instance;
+    if (instance->IsInitialized()) {
+      return instance;
+    } else {
+      return nullptr;
+    }
   }
 
  private:
@@ -113,7 +115,12 @@
   static gralloc1_error_t Gralloc1Perform(gralloc1_device_t *device, int operation, ...);
 
   explicit GrallocImpl(const hw_module_t *module);
+  ~GrallocImpl();
+  bool Init();
+  bool IsInitialized() const { return initalized_; }
+
   BufferManager *buf_mgr_ = NULL;
+  bool initalized_ = false;
 };
 
 }  // namespace gralloc1
