diff --git a/src/sim/reader.c b/src/sim/reader.c
index 71fb763..5d6033b 100644
--- a/src/sim/reader.c
+++ b/src/sim/reader.c
@@ -27,11 +27,15 @@
 #include <string.h>
 #include <stdio.h>
 
+#include <netinet/in.h>
+
+#include <osmocom/core/msgb.h>
 #include <osmocom/sim/sim.h>
 
 
 #include "sim_int.h"
 
+/* remove the SW from end of the message */
 static int get_sw(struct msgb *resp)
 {
 	int ret;
@@ -39,8 +43,7 @@
 	if (!msgb_apdu_de(resp) || msgb_apdu_le(resp) < 2)
 		return -EIO;
 
-	ret = resp->data[resp->len-2] << 8;
-	ret |= resp->data[resp->len-1];
+	ret = msgb_get_u16(resp);
 
 	return ret;
 }
diff --git a/utils/osmo-sim-test.c b/utils/osmo-sim-test.c
index f7dc48d..482ca31 100644
--- a/utils/osmo-sim-test.c
+++ b/utils/osmo-sim-test.c
@@ -164,7 +164,7 @@
 	struct tlv_parsed tp;
 	int rc;
 
-	rc = tlv_parse(&tp, &ts102221_fcp_tlv_def, msgb_apdu_de(msg)+2, msgb_apdu_le(msg)-4, 0, 0);
+	rc = tlv_parse(&tp, &ts102221_fcp_tlv_def, msgb_apdu_de(msg)+2, msgb_apdu_le(msg)-2, 0, 0);
 	if (rc < 0)
 		return rc;
 
@@ -223,7 +223,7 @@
 	int rc, i;
 
 	msg = select_file(st, 0x2f00);
-	rc = tlv_parse(&tp, &ts102221_fcp_tlv_def, msgb_apdu_de(msg)+2, msgb_apdu_le(msg)-4, 0, 0);
+	rc = tlv_parse(&tp, &ts102221_fcp_tlv_def, msgb_apdu_de(msg)+2, msgb_apdu_le(msg)-2, 0, 0);
 	if (rc < 0)
 		return NULL;
 
@@ -302,7 +302,7 @@
 		goto out;
 	}
 
-	rc = tlv_parse(&tp, &ts102221_fcp_tlv_def, msgb_apdu_de(msg)+2, msgb_apdu_le(msg)-4, 0, 0);
+	rc = tlv_parse(&tp, &ts102221_fcp_tlv_def, msgb_apdu_de(msg)+2, msgb_apdu_le(msg)-2, 0, 0);
 	if (rc < 0) {
 		printf("Unable to parse FCP\n");
 		goto out;
