diff --git a/job.c b/job.c
index 48315662..51d3576f 100644
--- a/job.c
+++ b/job.c
@@ -546,7 +546,7 @@ start_job_command (child)
   if (question_flag && !(flags & COMMANDS_RECURSE))
     {  
       child->file->update_status = 1;
-      child->file->command_state = cs_finished;
+      set_command_state (child->file, cs_finished);
       return;
     }
 
@@ -715,7 +715,7 @@ start_job_command (child)
   /* We are the parent side.  Set the state to
      say the commands are running and return.  */
 
-  child->file->command_state = cs_running;
+  set_command_state (child->file, cs_running);
 
   /* Free the storage used by the child's argument list.  */
 
@@ -726,7 +726,7 @@ start_job_command (child)
 
  error:
   child->file->update_status = 2;
-  child->file->command_state = cs_finished;
+  set_command_state (child->file, cs_finished);
 }
 
 /* Try to start a child running.
@@ -955,7 +955,7 @@ job_next_command (child)
 	{
 	  /* There are no more lines to be expanded.  */
 	  child->command_ptr = 0;
-	  child->file->command_state = cs_finished;
+	  set_command_state (child->file, cs_finished);
 	  child->file->update_status = 0;
 	  return 0;
 	}
diff --git a/remake.c b/remake.c
index 452e7e54..7ed67944 100644
--- a/remake.c
+++ b/remake.c
@@ -468,7 +468,7 @@ update_file_1 (file, depth)
 
   if (running)
     {
-      file->command_state = cs_deps_running;
+      set_command_state (file, cs_deps_running);
       --depth;
       DEBUGPR ("The dependencies of `%s' are being made.\n");
       return 0;
@@ -478,7 +478,7 @@ update_file_1 (file, depth)
 
   if (dep_status != 0)
     {
-      file->command_state = cs_finished;
+      set_command_state (file, cs_finished);
       file->update_status = dep_status;
       file->updated = 1;
 
@@ -493,7 +493,7 @@ update_file_1 (file, depth)
       return dep_status;
     }
 
-  file->command_state = cs_not_started;
+  set_command_state (file, cs_not_started);
 
   /* Now record which dependencies are more
      recent than this file, so we can define $?.  */
@@ -549,7 +549,7 @@ update_file_1 (file, depth)
   if (!must_make)
     {
       DEBUGPR ("No need to remake target `%s'.\n");
-      file->command_state = cs_finished;
+      set_command_state (file, cs_finished);
       file->update_status = 0;
       file->updated = 1;
       return 0;
@@ -738,7 +738,7 @@ check_dep (file, depth, this_mtime, must_make_ptr)
 	    /* Record that some of FILE's dependencies are still being made.
 	       This tells the upper levels to wait on processing it until
 	       the commands are finished.  */
-	    file->command_state = cs_deps_running;
+	    set_command_state (file, cs_deps_running);
 
 	  lastd = d;
 	  d = d->next;