diff --git a/libs/surfaceflinger/DisplayHardware/DisplayHardware.cpp b/libs/surfaceflinger/DisplayHardware/DisplayHardware.cpp
index 784dfa5..925f5cc 100644
--- a/libs/surfaceflinger/DisplayHardware/DisplayHardware.cpp
+++ b/libs/surfaceflinger/DisplayHardware/DisplayHardware.cpp
@@ -349,10 +349,7 @@
     eglMakeCurrent(mDisplay, mSurface, mSurface, mContext);
 }
 
-void DisplayHardware::copyFrontToImage(const copybit_image_t& front) const {
-    // FIXME: we need to get rid of this
+sp<FramebufferNativeWindow> DisplayHardware::getFb() const { 
+    return mNativeWindow; 
 }
 
-void DisplayHardware::copyBackToImage(const copybit_image_t& front) const {
-    // FIXME: we need to get rid of this
-}
diff --git a/libs/surfaceflinger/DisplayHardware/DisplayHardware.h b/libs/surfaceflinger/DisplayHardware/DisplayHardware.h
index c3dbff1..240c5d1 100644
--- a/libs/surfaceflinger/DisplayHardware/DisplayHardware.h
+++ b/libs/surfaceflinger/DisplayHardware/DisplayHardware.h
@@ -80,13 +80,13 @@
     EGLDisplay getEGLDisplay() const { return mDisplay; }
     overlay_control_device_t* getOverlayEngine() const { return mOverlayEngine; }
     
-    void copyFrontToImage(const copybit_image_t& front) const;
-    void copyBackToImage(const copybit_image_t& front) const;
-       
     Rect bounds() const {
         return Rect(mWidth, mHeight);
     }
 
+    // FIXME: needed in LayerBuffer for msm7k/copybit hack
+    sp<FramebufferNativeWindow> getFb() const;
+    
 private:
     void init(uint32_t displayIndex) __attribute__((noinline));
     void fini() __attribute__((noinline));
