diff --git a/src/interfaces/ecpg/ecpglib/data.c b/src/interfaces/ecpg/ecpglib/data.c
index 090d60277f3d35c1f2f0acd827ce27499b7bf8a7..5159c619bbefa6a9d5c9837f9588700b3822bf22 100644
--- a/src/interfaces/ecpg/ecpglib/data.c
+++ b/src/interfaces/ecpg/ecpglib/data.c
@@ -57,7 +57,7 @@ garbage_left(enum ARRAY_TYPE isarray, char **scan_length, enum COMPAT_MODE compa
 			/* skip invalid characters */
 			do {
 				(*scan_length)++;
-			} while (isdigit(**scan_length));
+			} while (isdigit((unsigned char) **scan_length));
 		}
 
 		if (**scan_length != ' ' && **scan_length != '\0')