diff --git a/include/common/buffer.h b/include/common/buffer.h
index 6f3ab26..e43969c 100644
--- a/include/common/buffer.h
+++ b/include/common/buffer.h
@@ -64,7 +64,7 @@
 /* Normalizes a pointer after an addition */
 static inline char *buffer_wrap_add(const struct buffer *buf, char *ptr)
 {
-	if (ptr - buf->size >= buf->data)
+	if (ptr - buf->size >= b_orig(buf))
 		ptr -= buf->size;
 	return ptr;
 }
@@ -77,9 +77,9 @@
  */
 static inline const char *buffer_pointer(const struct buffer *buf, const char *ptr)
 {
-	if (ptr < buf->data)
+	if (ptr < b_orig(buf))
 		ptr += buf->size;
-	else if (ptr - buf->size >= buf->data)
+	else if (ptr - buf->size >= b_orig(buf))
 		ptr -= buf->size;
 	return ptr;
 }
@@ -405,7 +405,7 @@
 		if (*p++ != *r.ptr++)
 			return -1;
 		if (unlikely(p == end))
-			p = b->data;
+			p = b_orig(b);
 	}
 	return ist.len;
 }
@@ -447,7 +447,7 @@
 	while (r.len--) {
 		*p++ = *r.ptr++;
 		if (unlikely(p == end))
-			p = b->data;
+			p = b_orig(b);
 	}
 	return ist.len;
 }
@@ -477,7 +477,7 @@
 	while (r.len--) {
 		*p++ = *r.ptr++;
 		if (unlikely(p == end))
-			p = b->data;
+			p = b_orig(b);
 	}
 	return ist.len;
 }
