diff --git a/src/target/target.c b/src/target/target.c
index 95e7e5b7cacc9f58bb6897f941afc3a94e22fe38..988312175d468149c740211ac09fb119be2b7950 100644
--- a/src/target/target.c
+++ b/src/target/target.c
@@ -273,7 +273,7 @@ static int new_target_number(void)
 static int target_continous_poll = 1;
 
 /* read a u32 from a buffer in target memory endianness */
-u32 target_buffer_get_u32(target_t *target, u8 *buffer)
+u32 target_buffer_get_u32(target_t *target, const u8 *buffer)
 {
 	if (target->endianness == TARGET_LITTLE_ENDIAN)
 		return le_to_h_u32(buffer);
@@ -282,7 +282,7 @@ u32 target_buffer_get_u32(target_t *target, u8 *buffer)
 }
 
 /* read a u16 from a buffer in target memory endianness */
-u16 target_buffer_get_u16(target_t *target, u8 *buffer)
+u16 target_buffer_get_u16(target_t *target, const u8 *buffer)
 {
 	if (target->endianness == TARGET_LITTLE_ENDIAN)
 		return le_to_h_u16(buffer);
@@ -291,7 +291,7 @@ u16 target_buffer_get_u16(target_t *target, u8 *buffer)
 }
 
 /* read a u8 from a buffer in target memory endianness */
-u8 target_buffer_get_u8(target_t *target, u8 *buffer)
+u8 target_buffer_get_u8(target_t *target, const u8 *buffer)
 {
 	return *buffer & 0x0ff;
 }
diff --git a/src/target/target.h b/src/target/target.h
index 1c1e10efc5625848aabf319c0c2d5849c78bccd2..13b463ca8a689cdf690e3755bfce3816f7b0ca8f 100644
--- a/src/target/target.h
+++ b/src/target/target.h
@@ -401,9 +401,9 @@ extern target_t *all_targets;
 extern target_event_callback_t *target_event_callbacks;
 extern target_timer_callback_t *target_timer_callbacks;
 
-extern u32 target_buffer_get_u32(target_t *target, u8 *buffer);
-extern u16 target_buffer_get_u16(target_t *target, u8 *buffer);
-extern u8  target_buffer_get_u8 (target_t *target, u8 *buffer);
+extern u32 target_buffer_get_u32(target_t *target, const u8 *buffer);
+extern u16 target_buffer_get_u16(target_t *target, const u8 *buffer);
+extern u8  target_buffer_get_u8 (target_t *target, const u8 *buffer);
 extern void target_buffer_set_u32(target_t *target, u8 *buffer, u32 value);
 extern void target_buffer_set_u16(target_t *target, u8 *buffer, u16 value);
 extern void target_buffer_set_u8 (target_t *target, u8 *buffer, u8  value);