diff --git a/src/slurmd/req.c b/src/slurmd/req.c
index 009342c72a75f65e8b8ad2cdea7f95864f03dcae..2be1dd8de711a2e4f368c0fe172f2b7bb3a9dc65 100644
--- a/src/slurmd/req.c
+++ b/src/slurmd/req.c
@@ -1085,23 +1085,19 @@ _rpc_kill_job(slurm_msg_t *msg, slurm_addr *cli)
 	 *  If there are currently no active job steps and no
 	 *    configured epilog to run, bypass asynchronous reply and
 	 *    notify slurmctld that we have already completed this
-	 *    request.
+	 *    request. We need to send current switch state on AIX
+	 *    systems, so this bypass can not be used.
 	 */
+#ifndef HAVE_AIX
 	if ((nsteps == 0) && !conf->epilog) {
 		if (msg->conn_fd >= 0)
 			slurm_send_rc_msg(msg, 
 				ESLURMD_KILL_JOB_ALREADY_COMPLETE);
 		slurm_cred_begin_expiration(conf->vctx, req->job_id);
-#ifdef HAVE_AIX
-		/* On AIX/Federation switch systems, we always have 
-		 * to send a separate epilog complete RPC including 
-		 * current switch state info. */
-		goto done;
-#else
 		_waiter_complete(req->job_id);
 		return;
-#endif
 	}
+#endif
 
 	/*
 	 *  At this point, if connection still open, we send controller