diff --git a/include/private/surfaceflinger/SharedBufferStack.h b/include/private/surfaceflinger/SharedBufferStack.h
index c23832d..a1a02e0 100644
--- a/include/private/surfaceflinger/SharedBufferStack.h
+++ b/include/private/surfaceflinger/SharedBufferStack.h
@@ -295,7 +295,8 @@
             friend class BufferList;
             uint32_t mask, curr;
             const_iterator(uint32_t mask) :
-                mask(mask), curr(31 - __builtin_clz(mask)) { }
+                mask(mask), curr(__builtin_clz(mask)) {
+            }
         public:
             inline bool operator == (const const_iterator& rhs) const {
                 return mask == rhs.mask;
@@ -304,9 +305,9 @@
                 return mask != rhs.mask;
             }
             inline int operator *() const { return curr; }
-            inline const const_iterator& operator ++(int) {
-                mask &= ~curr;
-                curr = 31 - __builtin_clz(mask);
+            inline const const_iterator& operator ++() {
+                mask &= ~(1<<(31-curr));
+                curr = __builtin_clz(mask);
                 return *this;
             }
         };
