diff --git a/src/xpath.c b/src/xpath.c
index 3c19230..e64adbe 100644
--- a/src/xpath.c
+++ b/src/xpath.c
@@ -381,16 +381,16 @@
  * @return LY_ERR
  */
 static LY_ERR
-cast_string_realloc(const struct ly_ctx *ctx, uint16_t needed, char **str, uint16_t *used, uint16_t *size)
+cast_string_realloc(const struct ly_ctx *ctx, uint32_t needed, char **str, uint16_t *used, uint16_t *size)
 {
-    if (*size - *used < needed) {
+    if (*size - (unsigned)*used < needed) {
         do {
             if ((UINT16_MAX - *size) < LYXP_STRING_CAST_SIZE_STEP) {
                 LOGERR(ctx, LY_EINVAL, "XPath string length limit (%u) reached.", UINT16_MAX);
                 return LY_EINVAL;
             }
             *size += LYXP_STRING_CAST_SIZE_STEP;
-        } while (*size - *used < needed);
+        } while (*size - (unsigned)*used < needed);
         *str = ly_realloc(*str, *size * sizeof(char));
         LY_CHECK_ERR_RET(!(*str), LOGMEM(ctx), LY_EMEM);
     }
