diff --git a/NEWS b/NEWS
index 843684c18f61e8e6e7c17b9570b2e2364b5cc337..1dc2ae2bcd82f0df50282a4d5a3ac6b7a0218cf4 100644
--- a/NEWS
+++ b/NEWS
@@ -251,6 +251,7 @@ documents those changes that are of interest to users and administrators.
 
 * Changes in Slurm 15.08.13
 ===========================
+ -- Fix issue where slurmd could core when running the ipmi energy plugin.
 
 * Changes in Slurm 15.08.12
 ===========================
@@ -298,6 +299,7 @@ documents those changes that are of interest to users and administrators.
     and two others that cause incorrect debug messages.
  -- Fix backwards compatibility with sreport going to <= 14.11 coming from
     >= 15.08 for some reports.
+ -- Print correct return code on failure to update node features through sview.
 
 * Changes in Slurm 15.08.11
 ===========================
diff --git a/src/api/node_info.c b/src/api/node_info.c
index 2060964633caf9908e5deadf88c1f2a356fb8fd4..e58111d4aa103cf50f5a17a5f903884144db1d0c 100644
--- a/src/api/node_info.c
+++ b/src/api/node_info.c
@@ -535,7 +535,7 @@ extern int slurm_load_node_single (node_info_msg_t **resp,
  * configured sensors on the target machine
  * IN  host  - name of node to query, NULL if localhost
  * IN  delta - Use cache if data is newer than this in seconds
- * OUT nb_sensors - number of sensors
+ * OUT sensors_cnt - number of sensors
  * OUT energy - array of acct_gather_energy_t structures on success or
  *                NULL other wise
  * RET 0 on success or a slurm error code
@@ -552,6 +552,12 @@ extern int slurm_get_node_energy(char *host, uint16_t delta,
 	uint32_t cluster_flags = slurmdb_setup_cluster_flags();
 	char *this_addr;
 
+	xassert(sensor_cnt);
+	xassert(energy);
+
+	*sensor_cnt = 0;
+	*energy = NULL;
+
 	slurm_msg_t_init(&req_msg);
 	slurm_msg_t_init(&resp_msg);
 
diff --git a/src/plugins/acct_gather_energy/ipmi/acct_gather_energy_ipmi.c b/src/plugins/acct_gather_energy/ipmi/acct_gather_energy_ipmi.c
index 9865738c53b444084bab38f83d7db489c77d0226..ab32a0595cbee623b2ee60bb3b834d8d34859569 100644
--- a/src/plugins/acct_gather_energy/ipmi/acct_gather_energy_ipmi.c
+++ b/src/plugins/acct_gather_energy/ipmi/acct_gather_energy_ipmi.c
@@ -834,8 +834,8 @@ static int _get_joules_task(uint16_t delta)
 	acct_gather_energy_t *new, *old;
 
 	/* sensors list */
-	acct_gather_energy_t *energies;
-	uint16_t sensor_cnt;
+	acct_gather_energy_t *energies = NULL;
+	uint16_t sensor_cnt = 0;
 
 	if (slurm_get_node_energy(NULL, delta, &sensor_cnt, &energies)) {
 		error("_get_joules_task: can't get info from slurmd");
diff --git a/src/sview/node_info.c b/src/sview/node_info.c
index be22e68134bb980b2b2387dba47c2c9d71035a44..c3e78d91c0372f1bbbd9c8aeeb0beb63630184b7 100644
--- a/src/sview/node_info.c
+++ b/src/sview/node_info.c
@@ -1283,7 +1283,7 @@ extern int update_avail_features_node(GtkDialog *dialog, const char *nodelist,
 			g_free(edit);
 			goto end_it;
 		}
-		if ((rc = slurm_update_node(node_msg) == SLURM_SUCCESS)) {
+		if ((rc = slurm_update_node(node_msg)) == SLURM_SUCCESS) {
 			edit = g_strdup_printf(
 				"Node(s) %s updated successfully.",
 				nodelist);