diff --git generic/tclScan.c generic/tclScan.c
index 6ab17bdb..33cf09a2 100644
--- generic/tclScan.c
+++ generic/tclScan.c
@@ -923,7 +923,7 @@ Tcl_ScanObjCmd(
 		if (Tcl_GetWideIntFromObj(NULL, objPtr, &wideValue) != TCL_OK) {
 		    wideValue = ~(Tcl_WideUInt)0 >> 1;	/* WIDE_MAX */
 		    if (TclGetString(objPtr)[0] == '-') {
-			wideValue++;	/* WIDE_MAX + 1 = WIDE_MIN */
+			wideValue += (Tcl_WideUInt)1;	/* WIDE_MAX + 1 = WIDE_MIN */
 		    }
 		}
 		if ((flags & SCAN_UNSIGNED) && (wideValue < 0)) {
