diff --git a/openbsc/include/openbsc/oap_messages.h b/openbsc/include/openbsc/oap_messages.h
index 496a6de..ecb66df 100644
--- a/openbsc/include/openbsc/oap_messages.h
+++ b/openbsc/include/openbsc/oap_messages.h
@@ -64,7 +64,7 @@
 	uint8_t			auts[16];
 };
 
-int osmo_oap_decode(const uint8_t *data, size_t data_len,
-		    struct osmo_oap_message *oap_msg);
+int osmo_oap_decode(struct osmo_oap_message *oap_msg,
+		    const uint8_t *data, size_t data_len);
 void osmo_oap_encode(struct msgb *msg, const struct osmo_oap_message *oap_msg);
 
diff --git a/openbsc/src/gprs/oap.c b/openbsc/src/gprs/oap.c
index a9fee56..c7c9777 100644
--- a/openbsc/src/gprs/oap.c
+++ b/openbsc/src/gprs/oap.c
@@ -214,7 +214,7 @@
 
 	OSMO_ASSERT(data);
 
-	rc = osmo_oap_decode(data, data_len, &oap_msg);
+	rc = osmo_oap_decode(&oap_msg, data, data_len);
 	if (rc < 0) {
 		LOGP(DGPRS, LOGL_ERROR,
 		     "Decoding OAP message failed with error '%s' (%d)\n",
diff --git a/openbsc/src/gprs/oap_messages.c b/openbsc/src/gprs/oap_messages.c
index 53ea9ac..d81723f 100644
--- a/openbsc/src/gprs/oap_messages.c
+++ b/openbsc/src/gprs/oap_messages.c
@@ -31,8 +31,8 @@
 #include <stdint.h>
 
 
-int osmo_oap_decode(const uint8_t *const_data, size_t data_len,
-		    struct osmo_oap_message *oap_msg)
+int osmo_oap_decode(struct osmo_oap_message *oap_msg,
+		    const uint8_t *const_data, size_t data_len)
 {
 	int rc;
 	uint8_t tag;
diff --git a/openbsc/tests/oap/oap_test.c b/openbsc/tests/oap/oap_test.c
index 625d8d8..339d774 100644
--- a/openbsc/tests/oap/oap_test.c
+++ b/openbsc/tests/oap/oap_test.c
@@ -168,7 +168,7 @@
 
 	/* Expect the challenge response in msg_tx */
 	OSMO_ASSERT(msg_tx);
-	OSMO_ASSERT(osmo_oap_decode(msg_tx->data, msg_tx->len, &oap_tx) == 0);
+	OSMO_ASSERT(osmo_oap_decode(&oap_tx, msg_tx->data, msg_tx->len) == 0);
 	OSMO_ASSERT(oap_tx.message_type == OAP_MSGT_CHALLENGE_RESULT);
 	OSMO_ASSERT(strcmp("e2d05b598c61d9ba",
 			   osmo_hexdump_nospc(oap_tx.xres, sizeof(oap_tx.xres)))
@@ -191,7 +191,7 @@
 	OSMO_ASSERT(oap_handle(state, msg_rx, &msg_tx) == 0);
 	OSMO_ASSERT(state->registration_failures == 1);
 	OSMO_ASSERT(msg_tx);
-	OSMO_ASSERT(osmo_oap_decode(msg_tx->data, msg_tx->len, &oap_tx) == 0);
+	OSMO_ASSERT(osmo_oap_decode(&oap_tx, msg_tx->data, msg_tx->len) == 0);
 	OSMO_ASSERT(oap_tx.message_type == OAP_MSGT_REGISTER_REQUEST);
 	OSMO_ASSERT(state->state == OAP_REQUESTED_CHALLENGE);
 	msgb_free(msg_tx);
