diff --git a/openbsc/src/libmsc/vty_interface_layer3.c b/openbsc/src/libmsc/vty_interface_layer3.c
index 1515aea..71fff93 100644
--- a/openbsc/src/libmsc/vty_interface_layer3.c
+++ b/openbsc/src/libmsc/vty_interface_layer3.c
@@ -547,7 +547,7 @@
 
 	if (strlen(name) > sizeof(subscr->name)-1) {
 		vty_out(vty,
-			"%% NAME is too long, max. %d characters are allowed%s",
+			"%% NAME is too long, max. %zu characters are allowed%s",
 			sizeof(subscr->name)-1, VTY_NEWLINE);
 		return CMD_WARNING;
 	}
@@ -580,7 +580,7 @@
 
 	if (strlen(ext) > sizeof(subscr->extension)-1) {
 		vty_out(vty,
-			"%% EXTENSION is too long, max. %d characters are allowed%s",
+			"%% EXTENSION is too long, max. %zu characters are allowed%s",
 			sizeof(subscr->extension)-1, VTY_NEWLINE);
 		return CMD_WARNING;
 	}
diff --git a/openbsc/src/osmo-bsc_mgcp/mgcp_main.c b/openbsc/src/osmo-bsc_mgcp/mgcp_main.c
index 5f703c2..1c03f27 100644
--- a/openbsc/src/osmo-bsc_mgcp/mgcp_main.c
+++ b/openbsc/src/osmo-bsc_mgcp/mgcp_main.c
@@ -156,7 +156,7 @@
 		return -1;
 	} else if (slen > sizeof(addr)) {
 		fprintf(stderr, "Gateway received message from outerspace: %zu %zu\n",
-			slen, sizeof(addr));
+			(size_t) slen, sizeof(addr));
 		return -1;
 	}
 
diff --git a/openbsc/src/osmo-bsc_nat/bsc_nat_rewrite_trie.c b/openbsc/src/osmo-bsc_nat/bsc_nat_rewrite_trie.c
index faceb59..9291c89 100644
--- a/openbsc/src/osmo-bsc_nat/bsc_nat_rewrite_trie.c
+++ b/openbsc/src/osmo-bsc_nat/bsc_nat_rewrite_trie.c
@@ -45,10 +45,10 @@
 {
 	struct nat_rewrite_rule *new = &root->rule;
 
-	const size_t len = strlen(rule->prefix);
+	const int len = strlen(rule->prefix);
 	int i;
 
-	if (len == 0) {
+	if (len <= 0) {
 		LOGP(DNAT, LOGL_ERROR, "An empty prefix does not make sense.\n");
 		goto fail;
 	}
diff --git a/openbsc/tests/bsc-nat/bsc_nat_test.c b/openbsc/tests/bsc-nat/bsc_nat_test.c
index b830eb0..a4b313c 100644
--- a/openbsc/tests/bsc-nat/bsc_nat_test.c
+++ b/openbsc/tests/bsc-nat/bsc_nat_test.c
@@ -645,7 +645,7 @@
 		}
 
 		if (msgb_l2len(output) != strlen(patc)) {
-			printf("Wrong sizes for test: %d  %d != %d != %d\n", i, msgb_l2len(output), strlen(patc), strlen(orig));
+			printf("Wrong sizes for test: %d  %u != %zu != %zu\n", i, msgb_l2len(output), strlen(patc), strlen(orig));
 			printf("String '%s' vs '%s'\n", (const char *) output->l2h, patc);
 			abort();
 		}
diff --git a/openbsc/tests/gbproxy/gbproxy_test.c b/openbsc/tests/gbproxy/gbproxy_test.c
index 214d477..17f0a17 100644
--- a/openbsc/tests/gbproxy/gbproxy_test.c
+++ b/openbsc/tests/gbproxy/gbproxy_test.c
@@ -956,7 +956,7 @@
 int gprs_ns_callback(enum gprs_ns_evt event, struct gprs_nsvc *nsvc,
 			 struct msgb *msg, uint16_t bvci)
 {
-	printf("CALLBACK, event %d, msg length %d, bvci 0x%04x\n%s\n\n",
+	printf("CALLBACK, event %d, msg length %zu, bvci 0x%04x\n%s\n\n",
 			event, msgb_bssgp_len(msg), bvci,
 			osmo_hexdump(msgb_l2(msg), msgb_l2len(msg)));
 
diff --git a/openbsc/tests/gsm0408/gsm0408_test.c b/openbsc/tests/gsm0408/gsm0408_test.c
index 692ec90..781ef61 100644
--- a/openbsc/tests/gsm0408/gsm0408_test.c
+++ b/openbsc/tests/gsm0408/gsm0408_test.c
@@ -48,7 +48,7 @@
 #define VERIFY(res, cmp, wanted)					\
 	if (!(res cmp wanted)) {					\
 		printf("ASSERT failed: %s:%d Wanted: %d %s %d\n",	\
-			__FILE__, __LINE__, res, # cmp, wanted);	\
+			__FILE__, __LINE__, (int) res, # cmp, (int) wanted);	\
 	}
 
 
