diff --git a/toys/pending/crontab.c b/toys/pending/crontab.c
index 67c8a54..16a1b77 100644
--- a/toys/pending/crontab.c
+++ b/toys/pending/crontab.c
@@ -286,7 +286,7 @@ static void do_edit(struct passwd *pwd)
   if (!stat(tname, &sb)) mtime = sb.st_mtime;
 
 RETRY:
-  if (!(pid = xfork())) {
+  if (!(pid = CFG_TOYBOX_FORK ? xfork() : XVFORK())) {
     char *prog = pwd->pw_shell;
 
     xsetuser(pwd);
