diff --git a/src/write_restart.cpp b/src/write_restart.cpp
index ad6c756558eb7870b4b03f0c35393930d0261f22..082e1b873d98cf1ac766a4868aa96561aed9e83d 100644
--- a/src/write_restart.cpp
+++ b/src/write_restart.cpp
@@ -95,6 +95,7 @@ void WriteRestart::command(int narg, char **arg)
   if ((ptr = strchr(arg[0],'*'))) {
     *ptr = '\0';
     sprintf(file,"%s" BIGINT_FORMAT "%s",arg[0],update->ntimestep,ptr+1);
+    *ptr = '*'; // must restore arg[0] so it can be correctly parsed below
   } else strcpy(file,arg[0]);
 
   // check for multiproc output and an MPI-IO filename