diff --git a/lib/vsprintf.c b/lib/vsprintf.c
index d960aead03368e70503936b55d8d42ba82649518..01c3957b2de621ae21fed6162058c37f801ff526 100644
--- a/lib/vsprintf.c
+++ b/lib/vsprintf.c
@@ -1931,6 +1931,8 @@ char *pointer(const char *fmt, char *buf, char *end, void *ptr,
 			return buf;
 		}
 	case 'K':
+		if (!kptr_restrict)
+			break;
 		return restricted_pointer(buf, end, ptr, spec);
 	case 'N':
 		return netdev_bits(buf, end, ptr, fmt);