diff --git a/NEWS b/NEWS
index ed143ab269efdb959347ce8ae6d7984ffdb58358..b8719abbb9e51a978179c56dfc0c6aad5243cddb 100644
--- a/NEWS
+++ b/NEWS
@@ -30,6 +30,8 @@ documents those changes that are of interest to users and admins.
     if values are not specified at job submit time
  -- Add retry logic for PMI communications, may be needed for highly parallel
     jobs.
+ -- Fix bug in slurmd where variable is used in logging message after freed
+    (slurmstepd rank info).
 
 * Changes in SLURM 1.1.1
 ========================
diff --git a/doc/man/man1/srun.1 b/doc/man/man1/srun.1
index ff6ef298972a714bef626386666abb57abf1097a..29a8e8b4f1ef1cf225fa3811981c900d8a3a26b6 100644
--- a/doc/man/man1/srun.1
+++ b/doc/man/man1/srun.1
@@ -1,6 +1,6 @@
 \." $Id$
 .\"
-.TH SRUN "1" "May 2006" "srun 1.2" "slurm components"
+.TH SRUN "1" "June 2006" "srun 1.2" "slurm components"
 .SH "NAME"
 srun \- run parallel jobs
 .SH SYNOPSIS
@@ -476,14 +476,12 @@ Specify a list of constraints.
 The constraints are features that have been assigned to the nodes by 
 the slurm administrator. 
 The \fIlist\fR of constraints may include multiple features separated 
-by commas, in which case all nodes must have all listed features 
-(i.e. the features are ANDed together). 
-Alternately the features may be separated by a vertical bar, '|', 
-in which case all nodes have must have at least one of the listed 
-features (i.e. the features are ORed together). 
+by ampersand (AND) and/or vertical bar (OR) operators.
+For example: \fB\-\-constraint="opteron&video"\fR or 
+\fB\-\-constraint="fast|faster"\fR.
 If no nodes have the requested features, then the job will be rejected 
 by the slurm job manager.
-TP
+.TP
 \fB\-\-contiguous\fR
 Demand a contiguous range of nodes. The default is "yes". Specify
 --contiguous=no if a contiguous range of nodes is not a constraint.
diff --git a/src/slurmd/slurmd/req.c b/src/slurmd/slurmd/req.c
index b32d5c379244b8f25d88b7e2572b758a71cd88c0..340058c141c48717a3655b9415e08585df19af0e 100644
--- a/src/slurmd/slurmd/req.c
+++ b/src/slurmd/slurmd/req.c
@@ -288,7 +288,6 @@ _send_slurmstepd_init(int fd, slurmd_step_type_t type, void *req,
 				      "NodeName %s", parent_alias);
 				/* parent_rank = -1; */
 			}
-			free(parent_alias);
 		}
 #else
 		/* In FRONT_END mode, one slurmd pretends to be all
@@ -308,6 +307,8 @@ _send_slurmstepd_init(int fd, slurmd_step_type_t type, void *req,
 	       rank, conf->node_name,
 	       parent_rank, parent_alias ? parent_alias : "NONE",
 	       children, depth, max_depth);
+	if (parent_alias)
+		free(parent_alias);
 
 	/* send reverse-tree info to the slurmstepd */
 	safe_write(fd, &rank, sizeof(int));