diff --git a/src/sview/common.c b/src/sview/common.c
index 01f7c60375fcf0874a5907f35293a9f8e49eda6c..de3cc1b0cd20990f146cc23a35081a41a40be3ff 100644
--- a/src/sview/common.c
+++ b/src/sview/common.c
@@ -592,8 +592,11 @@ extern popup_info_t *create_popup_info(int type, int dest_type, char *title)
 	bin2 = GTK_BIN(&view->bin);
 	popup_win->table = GTK_TABLE(bin2->child);
 	
-	gtk_box_pack_end(GTK_BOX(GTK_DIALOG(popup)->vbox), 
-			 GTK_WIDGET(window), TRUE, TRUE, 0);
+	gtk_box_pack_start(GTK_BOX(GTK_DIALOG(popup)->vbox), 
+			   GTK_WIDGET(window), TRUE, TRUE, 0);
+	gtk_box_pack_start(GTK_BOX(GTK_DIALOG(popup)->vbox),
+			   main_statusbar, FALSE, FALSE, 0);
+	
 	popup_win->spec_info->type = type;
 	popup_win->spec_info->title = xstrdup(title);
 	g_signal_connect(G_OBJECT(popup_win->popup), "delete_event",
diff --git a/src/sview/job_info.c b/src/sview/job_info.c
index f83b7fdd8ce8f8c80728845c4f254aa978664606..3cd9fbca9d25554ba5e0e4e8b91d9cd0d8a0f3b1 100644
--- a/src/sview/job_info.c
+++ b/src/sview/job_info.c
@@ -387,10 +387,14 @@ static void _update_info_step(job_step_info_response_msg_t *step_info_ptr,
 	job_step_info_t step;
 	int stepid = 0;
 	int i;
-	GtkTreeIter *first_step_iter = NULL;
+	GtkTreeIter first_step_iter;
+	int set = 0;
+
+	memset(&first_step_iter, 0, sizeof(GtkTreeIter));
+
 	/* make sure all the steps are still here */
 	if (step_iter) {
-		first_step_iter = gtk_tree_iter_copy(step_iter);
+		first_step_iter = *step_iter;
 		while(1) {
 			gtk_tree_store_set(GTK_TREE_STORE(model), step_iter, 
 					   SORTID_UPDATED, 0, -1);	
@@ -398,7 +402,7 @@ static void _update_info_step(job_step_info_response_msg_t *step_info_ptr,
 				break;
 			}
 		}
-		step_iter = gtk_tree_iter_copy(first_step_iter);
+		memcpy(step_iter, &first_step_iter, sizeof(GtkTreeIter));
 	}
 	for (i = 0; i < step_info_ptr->job_step_count; i++) {
 		step = step_info_ptr->job_steps[i];
@@ -433,10 +437,8 @@ static void _update_info_step(job_step_info_response_msg_t *step_info_ptr,
 	found:
 		;
 	}
-	if(first_step_iter) {
-		if(step_iter)
-			gtk_tree_iter_free(step_iter);
-		step_iter = gtk_tree_iter_copy(first_step_iter);
+	if(set) {
+		step_iter = &first_step_iter;
 		/* clear all steps that aren't active */
 		while(1) {
 			gtk_tree_model_get(model, step_iter, 
@@ -453,7 +455,6 @@ static void _update_info_step(job_step_info_response_msg_t *step_info_ptr,
 				break;
 			}
 		}
-		gtk_tree_iter_free(first_step_iter);
 	}
 	return;
 }			       
@@ -792,7 +793,7 @@ extern void get_info_job(GtkTable *table, display_data_t *display_data)
 		display_data_job->set_menu = local_display_data->set_menu;
 		return;
 	}
-	if(job_info_ptr && toggled) {
+	if(display_widget && toggled) {
 		gtk_widget_destroy(display_widget);
 		display_widget = NULL;
 		goto display_it;
@@ -886,7 +887,7 @@ extern void specific_info_job(popup_info_t *popup_win)
 	if(!spec_info->display_widget)
 		setup_popup_info(popup_win, display_data_job, SORTID_CNT);
 
-	if(job_info_ptr && popup_win->toggled) {
+	if(spec_info->display_widget && popup_win->toggled) {
 		gtk_widget_destroy(spec_info->display_widget);
 		spec_info->display_widget = NULL;
 		goto display_it;
diff --git a/src/sview/part_info.c b/src/sview/part_info.c
index 08d4d2e1636e59440afa5ce548133bafedd856fa..f71e2627aee2621fc073f96d355b401ce30e81a8 100644
--- a/src/sview/part_info.c
+++ b/src/sview/part_info.c
@@ -187,15 +187,18 @@ static void _subdivide_part(sview_part_info_t *sview_part_info,
 			    GtkTreeIter *sub_iter,
 			    GtkTreeIter *iter)
 {
-	GtkTreeIter *first_sub_iter = NULL;
+	GtkTreeIter first_sub_iter;
 	ListIterator itr = NULL;
 	uint16_t state;
 	int i = 0, line = 0;
 	sview_part_sub_t *sview_part_sub = NULL;
+	int set = 0;
+
+	memset(&first_sub_iter, 0, sizeof(GtkTreeIter));
 
 	/* make sure all the steps are still here */
 	if (sub_iter) {
-		first_sub_iter = gtk_tree_iter_copy(sub_iter);
+		first_sub_iter = *sub_iter;
 		while(1) {
 			gtk_tree_store_set(GTK_TREE_STORE(model), sub_iter, 
 					   SORTID_UPDATED, 0, -1);	
@@ -203,7 +206,8 @@ static void _subdivide_part(sview_part_info_t *sview_part_info,
 				break;
 			}
 		}
-		sub_iter = gtk_tree_iter_copy(first_sub_iter);
+		memcpy(sub_iter, &first_sub_iter, sizeof(GtkTreeIter));
+		set = 1;
 	}
 	itr = list_iterator_create(sview_part_info->sub_list);
 	if(list_count(sview_part_info->sub_list) == 1) {
@@ -256,10 +260,8 @@ static void _subdivide_part(sview_part_info_t *sview_part_info,
 	}
 	list_iterator_destroy(itr);
 
-	if(first_sub_iter) {
-		if(sub_iter)
-			gtk_tree_iter_free(sub_iter);
-		sub_iter = gtk_tree_iter_copy(first_sub_iter);
+	if(set) {
+		sub_iter = &first_sub_iter;
 		/* clear all steps that aren't active */
 		while(1) {
 			gtk_tree_model_get(model, sub_iter, 
@@ -276,7 +278,6 @@ static void _subdivide_part(sview_part_info_t *sview_part_info,
 				break;
 			}
 		}
-		gtk_tree_iter_free(first_sub_iter);
 	}
 	return;
 }
@@ -353,8 +354,6 @@ static void _update_part_record(sview_part_info_t *sview_part_info,
 	else
 		gtk_tree_store_set(treestore, iter, SORTID_GROUPS, "all", -1);
 
-	gtk_tree_store_set(treestore, iter, SORTID_NODES, tmp_cnt, -1);
-
 	convert_num_unit((float)part_ptr->total_nodes, tmp_cnt, UNIT_NONE);
 	gtk_tree_store_set(treestore, iter, SORTID_NODES, tmp_cnt, -1);
 
@@ -469,20 +468,6 @@ static void _update_info_part(List info_list,
 	ListIterator itr = NULL;
 	sview_part_info_t *sview_part_info = NULL;
 
-	if(spec_info) {
-		switch(spec_info->type) {
-		case NODE_PAGE:
-			hostlist = hostlist_create((char *)spec_info->data);
-			host = hostlist_shift(hostlist);
-			hostlist_destroy(hostlist);
-			if(host == NULL) {
-				g_print("nodelist was empty");
-				return;
-			}		
-			break;
-		}
-	}
- 
 	/* get the iter, or find out the list is empty goto add */
 	if (gtk_tree_model_get_iter(model, &iter, path)) {
 		/* make sure all the partitions are still here */
@@ -578,6 +563,7 @@ static void _update_info_part(List info_list,
 	gtk_tree_path_free(path);
 	/* remove all old partitions */
 	remove_old(model, SORTID_UPDATED);
+	return;
 }
 
 static void _info_list_del(void *object)
@@ -1214,6 +1200,7 @@ extern void get_info_part(GtkTable *table, display_data_t *display_data)
 		return;
 	}
 	if(display_widget && toggled) {
+		g_print("I am destroying the widget in part\n");
 		gtk_widget_destroy(display_widget);
 		display_widget = NULL;
 		goto display_it;
@@ -1275,6 +1262,7 @@ display_it:
 		display_widget = NULL;
 	}
 	if(!display_widget) {
+		g_print("I am creating the widget in part\n");
 		tree_view = create_treeview(local_display_data);
 
 		display_widget = gtk_widget_ref(GTK_WIDGET(tree_view));