diff --git a/openbsc/src/gprs/gprs_gsup_messages.c b/openbsc/src/gprs/gprs_gsup_messages.c
index f47ad55..1dad74f 100644
--- a/openbsc/src/gprs/gprs_gsup_messages.c
+++ b/openbsc/src/gprs/gprs_gsup_messages.c
@@ -74,7 +74,7 @@
 
 		rc = gprs_shift_tlv(&data, &data_len, &tag, &value, &value_len);
 		if (rc < 0)
-			return rc;
+			return -GMM_CAUSE_PROTO_ERR_UNSPEC;
 
 		iei = tag;
 
@@ -116,7 +116,7 @@
 	while (data_len > 0) {
 		rc = gprs_shift_tlv(&data, &data_len, &tag, &value, &value_len);
 		if (rc < 0)
-			return rc;
+			return -GMM_CAUSE_PROTO_ERR_UNSPEC;
 
 		iei = tag;
 
diff --git a/openbsc/src/gprs/gprs_subscriber.c b/openbsc/src/gprs/gprs_subscriber.c
index fd16fa3..136ac28 100644
--- a/openbsc/src/gprs/gprs_subscriber.c
+++ b/openbsc/src/gprs/gprs_subscriber.c
@@ -339,7 +339,8 @@
 	rc = gprs_gsup_decode(data, data_len, &gsup_msg);
 	if (rc < 0) {
 		LOGP(DGPRS, LOGL_ERROR,
-		     "decoding GSUP message fails with error code %d\n", -rc);
+		     "decoding GSUP message fails with error '%s' (%d)\n",
+		     get_value_string(gsm48_gmm_cause_names, -rc), -rc);
 		return rc;
 	}
 
@@ -369,19 +370,19 @@
 		break;
 
 	case GPRS_GSUP_MSGT_SEND_AUTH_INFO_RESULT:
-		gprs_subscr_handle_gsup_auth_res(subscr, &gsup_msg);
+		rc = gprs_subscr_handle_gsup_auth_res(subscr, &gsup_msg);
 		break;
 
 	case GPRS_GSUP_MSGT_SEND_AUTH_INFO_ERROR:
-		gprs_subscr_handle_gsup_auth_err(subscr, &gsup_msg);
+		rc = gprs_subscr_handle_gsup_auth_err(subscr, &gsup_msg);
 		break;
 
 	case GPRS_GSUP_MSGT_UPDATE_LOCATION_RESULT:
-		gprs_subscr_handle_gsup_upd_loc_res(subscr, &gsup_msg);
+		rc = gprs_subscr_handle_gsup_upd_loc_res(subscr, &gsup_msg);
 		break;
 
 	case GPRS_GSUP_MSGT_UPDATE_LOCATION_ERROR:
-		gprs_subscr_handle_gsup_upd_loc_err(subscr, &gsup_msg);
+		rc = gprs_subscr_handle_gsup_upd_loc_err(subscr, &gsup_msg);
 		break;
 
 	case GPRS_GSUP_MSGT_PURGE_MS_ERROR:
diff --git a/openbsc/tests/sgsn/sgsn_test.c b/openbsc/tests/sgsn/sgsn_test.c
index ef8661b..6980a90 100644
--- a/openbsc/tests/sgsn/sgsn_test.c
+++ b/openbsc/tests/sgsn/sgsn_test.c
@@ -28,6 +28,7 @@
 #include <osmocom/gprs/gprs_bssgp.h>
 
 #include <osmocom/gsm/gsm_utils.h>
+#include <openbsc/gsm_04_08_gprs.h>
 
 #include <osmocom/core/application.h>
 #include <osmocom/core/msgb.h>
@@ -438,7 +439,7 @@
 
 	/* Inject SendAuthInfoErr GSUP message */
 	rc = rx_gsup_message(send_auth_info_err, sizeof(send_auth_info_err));
-	OSMO_ASSERT(rc >= 0);
+	OSMO_ASSERT(rc == -GMM_CAUSE_GPRS_NOTALLOWED);
 	OSMO_ASSERT(last_updated_subscr == s1);
 
 	/* Check triplets */
@@ -456,7 +457,7 @@
 
 	/* Inject UpdateLocErr GSUP message */
 	rc = rx_gsup_message(update_location_err, sizeof(update_location_err));
-	OSMO_ASSERT(rc >= 0);
+	OSMO_ASSERT(rc == -GMM_CAUSE_GPRS_NOTALLOWED);
 	OSMO_ASSERT(last_updated_subscr == s1);
 
 	/* Check authorization */
