diff --git a/src/opcodes.c b/src/opcodes.c
index ed4690c8387c9e550de411ed38e9359382b9c1cb..03358c4512b1e9567e44b378dee50d687758ebab 100644
--- a/src/opcodes.c
+++ b/src/opcodes.c
@@ -117,7 +117,7 @@ void f_cast()
 	break;
 
       case T_STRING:
-	f=strtod(sp[-1].u.string->str,0);
+	f=STRTOD(sp[-1].u.string->str,0);
 	free_string(sp[-1].u.string);
 	break;