diff --git a/src/opcodes.c b/src/opcodes.c
index d0ed78db3ba7e6151ad91d5a7f467fd9985db84f..74e26d36f67355469afb8f2c0bd1047555a8c4b7 100644
--- a/src/opcodes.c
+++ b/src/opcodes.c
@@ -111,7 +111,7 @@ void cast(struct lpc_string *s)
 	break;
 
       case T_STRING:
-	i=strtol(sp[-1].u.string->str,0,0);
+	i=STRTOL(sp[-1].u.string->str,0,0);
 	free_string(sp[-1].u.string);
 	break;
       
@@ -257,7 +257,7 @@ void f_cast()
 	break;
 
       case T_STRING:
-	i=strtol(sp[-1].u.string->str,0,0);
+	i=STRTOL(sp[-1].u.string->str,0,0);
 	free_string(sp[-1].u.string);
 	break;