diff --git a/libgralloc/framebuffer.cpp b/libgralloc/framebuffer.cpp
index ca1840a..1193a27 100644
--- a/libgralloc/framebuffer.cpp
+++ b/libgralloc/framebuffer.cpp
@@ -328,7 +328,7 @@
     size_t fbSize = roundUpToPageSize(finfo.line_length * info.yres)*
                     module->numBuffers;
     module->framebuffer = new private_handle_t(fd, fbSize,
-                                        private_handle_t::PRIV_FLAGS_USES_PMEM,
+                                        private_handle_t::PRIV_FLAGS_USES_ION,
                                         BUFFER_TYPE_UI,
                                         module->fbFormat, info.xres, info.yres);
     void* vaddr = mmap(0, fbSize, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
diff --git a/libgralloc/gpu.cpp b/libgralloc/gpu.cpp
index c238264..f79841c 100644
--- a/libgralloc/gpu.cpp
+++ b/libgralloc/gpu.cpp
@@ -83,15 +83,14 @@
         return -ENOMEM;
     }
 
-    // create a "fake" handles for it
-    // Set the PMEM flag as well, since adreno
-    // treats the FB memory as pmem
+    // create a "fake" handle for it
     intptr_t vaddr = intptr_t(m->framebuffer->base);
-    private_handle_t* hnd = new private_handle_t(dup(m->framebuffer->fd), bufferSize,
-                                                 private_handle_t::PRIV_FLAGS_USES_PMEM |
-                                                 private_handle_t::PRIV_FLAGS_FRAMEBUFFER,
-                                                 BUFFER_TYPE_UI, m->fbFormat, m->info.xres,
-                                                 m->info.yres);
+    private_handle_t* hnd = new private_handle_t(
+                                dup(m->framebuffer->fd), bufferSize,
+                                private_handle_t::PRIV_FLAGS_USES_ION |
+                                private_handle_t::PRIV_FLAGS_FRAMEBUFFER,
+                                BUFFER_TYPE_UI, m->fbFormat, m->info.xres,
+                                m->info.yres);
 
     // find a free slot
     for (uint32_t i=0 ; i<numBuffers ; i++) {
