diff --git a/services/surfaceflinger/SurfaceTextureLayer.h b/services/surfaceflinger/SurfaceTextureLayer.h
index 9508524..be26b2f 100644
--- a/services/surfaceflinger/SurfaceTextureLayer.h
+++ b/services/surfaceflinger/SurfaceTextureLayer.h
@@ -22,35 +22,21 @@
 #include <sys/types.h>
 
 #include <utils/Errors.h>
-#include <gui/SurfaceTexture.h>
+#include <gui/BufferQueue.h>
 
 namespace android {
 // ---------------------------------------------------------------------------
 
 class Layer;
 
-class SurfaceTextureLayer : public SurfaceTexture
+// SurfaceTextureLayer is now a BufferQueue since SurfaceTexture has been
+// refactored
+class SurfaceTextureLayer : public BufferQueue
 {
-    wp<Layer> mLayer;
-    uint32_t mDefaultFormat;
-
 public:
-    SurfaceTextureLayer(GLuint tex, const sp<Layer>& layer);
+    SurfaceTextureLayer();
     ~SurfaceTextureLayer();
 
-    status_t setDefaultBufferSize(uint32_t w, uint32_t h);
-    status_t setDefaultBufferFormat(uint32_t format);
-
-public:
-    virtual status_t setBufferCount(int bufferCount);
-
-protected:
-    virtual status_t queueBuffer(int buf, int64_t timestamp,
-            uint32_t* outWidth, uint32_t* outHeight, uint32_t* outTransform);
-
-    virtual status_t dequeueBuffer(int *buf, uint32_t w, uint32_t h,
-            uint32_t format, uint32_t usage);
-
     virtual status_t connect(int api,
             uint32_t* outWidth, uint32_t* outHeight, uint32_t* outTransform);
 };
