diff --git a/src/signal_handler.c b/src/signal_handler.c
index 4fde1de94615cda3324be1659e23dd05e4be6955..2a97e1e67ff283ee9f30436e2a16cfd5e3e423d7 100644
--- a/src/signal_handler.c
+++ b/src/signal_handler.c
@@ -2993,7 +2993,7 @@ void f_create_process(INT32 args)
 	     *     so we must use the low-level variant here.
 	     */
 	    env = low_dwim_utf8_to_utf16(Pike_sp[-1].u.string->str,
-					 Pike_sp[-1].u.string->str->len);
+					 Pike_sp[-1].u.string->len);
 	    pop_stack();
 	  }
 	}