diff --git a/include/osmocom/core/msgb.h b/include/osmocom/core/msgb.h
index 273fc16..5029225 100644
--- a/include/osmocom/core/msgb.h
+++ b/include/osmocom/core/msgb.h
@@ -339,7 +339,7 @@
 }
 
 /*! prepend a uint8 value to the head of the message
- *  \param[in] msgb message buffer
+ *  \param[in] msg message buffer
  *  \param[in] word unsigned 8bit byte to be prepended
  */
 static inline void msgb_push_u8(struct msgb *msg, uint8_t word)
@@ -349,7 +349,7 @@
 }
 
 /*! prepend a uint16 value to the head of the message
- *  \param[in] msgb message buffer
+ *  \param[in] msg message buffer
  *  \param[in] word unsigned 16bit byte to be prepended
  */
 static inline void msgb_push_u16(struct msgb *msg, uint16_t word)
@@ -359,7 +359,7 @@
 }
 
 /*! prepend a uint32 value to the head of the message
- *  \param[in] msgb message buffer
+ *  \param[in] msg message buffer
  *  \param[in] word unsigned 32bit byte to be prepended
  */
 static inline void msgb_push_u32(struct msgb *msg, uint32_t word)
@@ -396,7 +396,7 @@
 }
 
 /*! remove (pull) all headers in front of l3h from the message buffer.
- *  \param[in] msgb message buffer with a valid l3h
+ *  \param[in] msg message buffer with a valid l3h
  *  \returns pointer to new start of msgb (l3h)
  *
  * This function moves the \a data pointer of the \ref msgb further back
@@ -411,7 +411,7 @@
 }
 
 /*! remove (pull) all headers in front of l2h from the message buffer.
- *  \param[in] msgb message buffer with a valid l2h
+ *  \param[in] msg message buffer with a valid l2h
  *  \returns pointer to new start of msgb (l2h)
  *
  * This function moves the \a data pointer of the \ref msgb further back
