diff --git a/include/ui/FramebufferNativeWindow.h b/include/ui/FramebufferNativeWindow.h
index 4b281db..0db245a 100644
--- a/include/ui/FramebufferNativeWindow.h
+++ b/include/ui/FramebufferNativeWindow.h
@@ -50,17 +50,10 @@
         android_native_buffer_t::height = h;
         android_native_buffer_t::format = f;
         android_native_buffer_t::usage  = u;
-        android_native_buffer_t::getHandle = getHandle;
     }
-public:
-    buffer_handle_t handle;
 private:
     friend class LightRefBase<NativeBuffer>;    
     ~NativeBuffer() { }; // this class cannot be overloaded
-    static int getHandle(android_native_buffer_t const * base, buffer_handle_t* handle) {
-        *handle = getSelf(base)->handle;
-        return 0;
-    }
 };
 
 // ---------------------------------------------------------------------------
diff --git a/include/ui/Surface.h b/include/ui/Surface.h
index ce50719..e9bb1b3 100644
--- a/include/ui/Surface.h
+++ b/include/ui/Surface.h
@@ -50,10 +50,6 @@
         LightRefBase<SurfaceBuffer> >
 {
 public:
-    buffer_handle_t getHandle() const {
-        return handle;
-    }
-    
     status_t lock(uint32_t usage, void** vaddr);
     status_t lock(uint32_t usage, const Rect& rect, void** vaddr);
     status_t unlock();
@@ -62,7 +58,6 @@
             SurfaceBuffer();
             SurfaceBuffer(const Parcel& reply);
     virtual ~SurfaceBuffer();
-    buffer_handle_t handle;
     bool mOwner;
 
     inline const BufferMapper& getBufferMapper() const { return mBufferMapper; }
@@ -80,9 +75,6 @@
     static status_t writeToParcel(Parcel* reply, 
             android_native_buffer_t const* buffer);
     
-    static int getHandle(android_native_buffer_t const * base, 
-            buffer_handle_t* handle);
-    
     BufferMapper& mBufferMapper;
 };
 
diff --git a/libs/ui/Surface.cpp b/libs/ui/Surface.cpp
index 5f2138e..782eac4 100644
--- a/libs/ui/Surface.cpp
+++ b/libs/ui/Surface.cpp
@@ -52,18 +52,18 @@
 ANDROID_SINGLETON_STATIC_INSTANCE( SurfaceBuffer )
 
 SurfaceBuffer::SurfaceBuffer() 
-    : BASE(), handle(0), mOwner(false), mBufferMapper(BufferMapper::get())
+    : BASE(), mOwner(false), mBufferMapper(BufferMapper::get())
 {
     width  = 
     height = 
     stride = 
     format = 
     usage  = 0;
-    android_native_buffer_t::getHandle = getHandle;
+    handle = NULL;
 }
 
 SurfaceBuffer::SurfaceBuffer(const Parcel& data) 
-    : BASE(), handle(0), mOwner(true), mBufferMapper(BufferMapper::get())
+    : BASE(), mOwner(true), mBufferMapper(BufferMapper::get())
 {
     // we own the handle in this case
     width  = data.readInt32();
@@ -72,7 +72,6 @@
     format = data.readInt32();
     usage  = data.readInt32();
     handle = data.readNativeHandle();
-    android_native_buffer_t::getHandle = getHandle;
 }
 
 SurfaceBuffer::~SurfaceBuffer()
@@ -83,13 +82,6 @@
     }
 }
 
-int SurfaceBuffer::getHandle(android_native_buffer_t const * base, 
-        buffer_handle_t* handle)
-{
-    *handle = getSelf(base)->handle;
-    return 0;
-}
-
 status_t SurfaceBuffer::lock(uint32_t usage, void** vaddr)
 {
     const Rect lockBounds(width, height);
@@ -112,17 +104,12 @@
 status_t SurfaceBuffer::writeToParcel(Parcel* reply, 
         android_native_buffer_t const* buffer)
 {
-    buffer_handle_t handle;
-    status_t err = buffer->getHandle(buffer, &handle);
-    if (err < 0) {
-        return err;
-    }
     reply->writeInt32(buffer->width);
     reply->writeInt32(buffer->height);
     reply->writeInt32(buffer->stride);
     reply->writeInt32(buffer->format);
     reply->writeInt32(buffer->usage);
-    reply->writeNativeHandle(handle);
+    reply->writeNativeHandle(buffer->handle);
     return NO_ERROR;
 }
 
@@ -419,7 +406,7 @@
     // its buffers in this process.
     for (int i=0 ; i<2 ; i++) {
         if (mBuffers[i] != 0) {
-            getBufferMapper().unregisterBuffer(mBuffers[i]->getHandle());
+            getBufferMapper().unregisterBuffer(mBuffers[i]->handle);
         }
     }
 
@@ -689,10 +676,10 @@
     if (buffer != 0) {
         sp<SurfaceBuffer>& currentBuffer(mBuffers[index]);
         if (currentBuffer != 0) {
-            getBufferMapper().unregisterBuffer(currentBuffer->getHandle());
+            getBufferMapper().unregisterBuffer(currentBuffer->handle);
             currentBuffer.clear();
         }
-        err = getBufferMapper().registerBuffer(buffer->getHandle());
+        err = getBufferMapper().registerBuffer(buffer->handle);
         LOGW_IF(err, "map(...) failed %d (%s)", err, strerror(-err));
         if (err == NO_ERROR) {
             currentBuffer = buffer;
diff --git a/opengl/include/EGL/android_natives.h b/opengl/include/EGL/android_natives.h
index 8db2bb3..b8465d5 100644
--- a/opengl/include/EGL/android_natives.h
+++ b/opengl/include/EGL/android_natives.h
@@ -157,13 +157,12 @@
     int stride;
     int format;
     int usage;
+    
+    void* reserved[2];
 
-    void* reserved[3];
+    buffer_handle_t handle;
 
-    int (*getHandle)(struct android_native_buffer_t const * base,
-            buffer_handle_t* handle);
-
-    void* reserved_proc[7];
+    void* reserved_proc[8];
 };
 
 
diff --git a/opengl/libagl/egl.cpp b/opengl/libagl/egl.cpp
index 67dfd3e..720ba0b 100644
--- a/opengl/libagl/egl.cpp
+++ b/opengl/libagl/egl.cpp
@@ -274,26 +274,14 @@
 status_t egl_window_surface_v2_t::lock(
         android_native_buffer_t* buf, int usage, void** vaddr)
 {
-    int err;
-    buffer_handle_t bufferHandle;
-    err = buf->getHandle(buf, &bufferHandle);
-    if (err < 0)
-        return err;
-
-    err = module->lock(module, bufferHandle, 
+    int err = module->lock(module, buf->handle, 
             usage, 0, 0, buf->width, buf->height, vaddr);
     return err;
 }
 
 status_t egl_window_surface_v2_t::unlock(android_native_buffer_t* buf)
 {
-    int err;
-    buffer_handle_t bufferHandle;
-    err = buf->getHandle(buf, &bufferHandle);
-    if (err < 0)
-        return err;
-
-    err = module->unlock(module, bufferHandle);
+    int err = module->unlock(module, buf->handle);
     return err;
 }
 
@@ -379,8 +367,7 @@
 #ifdef LIBAGL_USE_GRALLOC_COPYBITS
     gl->copybits.drawSurfaceFd = -1;
     if (supportedCopybitsDestinationFormat(buffer.format)) {
-        buffer_handle_t handle;
-        this->buffer->getHandle(this->buffer, &handle);
+        buffer_handle_t handle = this->buffer->handle;
         if (handle != NULL) {
             private_handle_t* hand = private_handle_t::dynamicCast(handle);
             if (hand != NULL) {
diff --git a/opengl/libagl/texture.cpp b/opengl/libagl/texture.cpp
index 9bcbfdd..1189643 100644
--- a/opengl/libagl/texture.cpp
+++ b/opengl/libagl/texture.cpp
@@ -139,10 +139,9 @@
 
                 gralloc_module_t const* module =
                     reinterpret_cast<gralloc_module_t const*>(pModule);
-                buffer_handle_t bufferHandle;
-                native_buffer->getHandle(native_buffer, &bufferHandle);
+
                 void* vaddr;
-                int err = module->lock(module, bufferHandle,
+                int err = module->lock(module, native_buffer->handle,
                         GRALLOC_USAGE_SW_READ_OFTEN,
                         0, 0, native_buffer->width, native_buffer->height,
                         &vaddr);
@@ -168,9 +167,8 @@
 
                 gralloc_module_t const* module =
                     reinterpret_cast<gralloc_module_t const*>(pModule);
-                buffer_handle_t bufferHandle;
-                native_buffer->getHandle(native_buffer, &bufferHandle);
-                module->unlock(module, bufferHandle);
+
+                module->unlock(module, native_buffer->handle);
                 u.texture->setImageBits(NULL);
                 c->rasterizer.procs.bindTexture(c, &(u.texture->surface));
             }
@@ -1547,13 +1545,10 @@
      */
 #ifdef LIBAGL_USE_GRALLOC_COPYBITS
     tex->copybits_fd = -1;
-    buffer_handle_t handle;
-    if (native_buffer->getHandle(native_buffer, &handle) == 0) {
-        private_handle_t* hand;
-        if ((hand = private_handle_t::dynamicCast(handle)) != NULL) {
-            if (hand->usesPhysicallyContiguousMemory()) {
-                tex->copybits_fd = hand->fd;
-            }
+    private_handle_t* hand;
+    if ((hand = private_handle_t::dynamicCast(native_buffer->handle)) != NULL) {
+        if (hand->usesPhysicallyContiguousMemory()) {
+            tex->copybits_fd = hand->fd;
         }
     }
 #endif // LIBAGL_USE_GRALLOC_COPYBITS
