diff --git a/NEWS b/NEWS
index 282d15aeaacf56992d9a46642171bd4aa44e0e8d..e716cb10207f4b7745729f8aadbdd5ea468bb8ab 100644
--- a/NEWS
+++ b/NEWS
@@ -274,6 +274,8 @@ documents those changes that are of interest to users and administrators.
  -- Prevent sbatch from trying to enable debug messages when using job arrays.
  -- Prevent sbcast from enabling "--preserve" when specifying a jobid.
  -- Prevent wrong error message from spank plugin stack on GLOB_NOSPACE error.
+ -- Fix proctrack/lua plugin to prevent possible deadlock.
+ -- Prevent infinite loop in slurmstepd if execve fails.
 
 * Changes in Slurm 15.08.11
 ===========================
diff --git a/src/plugins/proctrack/lua/proctrack_lua.c b/src/plugins/proctrack/lua/proctrack_lua.c
index 280c9f7b9624cde5e28e90e5726263c4084507ca..9bb3f03c3640b79bce0a9200b934871f34786bf9 100644
--- a/src/plugins/proctrack/lua/proctrack_lua.c
+++ b/src/plugins/proctrack/lua/proctrack_lua.c
@@ -464,7 +464,7 @@ uint64_t proctrack_p_find (pid_t pid)
 	lua_pop (L, -1);
 
 out:
-	slurm_mutex_lock (&lua_lock);
+	slurm_mutex_unlock (&lua_lock);
 	return (id);
 }
 
diff --git a/src/slurmd/slurmstepd/mgr.c b/src/slurmd/slurmstepd/mgr.c
index c02770657ecd6ad6d4c3f7c56441a48201a6b638..bfb0fa324ca8dad662d835fa58fd621a8fbed2a2 100644
--- a/src/slurmd/slurmstepd/mgr.c
+++ b/src/slurmd/slurmstepd/mgr.c
@@ -2818,7 +2818,7 @@ _run_script_as_user(const char *name, const char *path, stepd_step_rec_t *job,
 		while (1) {
 			execve(path, argv, env);
 			error("execve(%s): %m", path);
-			if ((errno == ENFILE) || (errno = ENOMEM)) {
+			if ((errno == ENFILE) || (errno == ENOMEM)) {
 				/* System limit on open files or memory reached,
 				 * retry after short delay */
 				sleep(1);