diff --git a/src/smap/job_functions.c b/src/smap/job_functions.c
index 66d2311b8d01192d6127fbaedc8769bc6482a0d4..adb7caf685afa99b96ffab22c325a2c79a8506b3 100644
--- a/src/smap/job_functions.c
+++ b/src/smap/job_functions.c
@@ -101,28 +101,28 @@ void print_header_job(void)
 {
 	mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord,
 		  smap_info_ptr->xcord, "ID");
-	smap_info_ptr->xcord += 4;
+	smap_info_ptr->xcord += 3;
 	mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord,
-		  smap_info_ptr->xcord, "JOBID");
+		  smap_info_ptr->xcord, " JOBID");
 	smap_info_ptr->xcord += 7;
 	mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord,
 		  smap_info_ptr->xcord, "PARTITION");
-	smap_info_ptr->xcord += 11;
+	smap_info_ptr->xcord += 10;
 	mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord,
 		  smap_info_ptr->xcord, "USER");
-	smap_info_ptr->xcord += 8;
+	smap_info_ptr->xcord += 9;
 	mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord,
 		  smap_info_ptr->xcord, "NAME");
 	smap_info_ptr->xcord += 10;
 	mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord,
 		  smap_info_ptr->xcord, "ST");
-	smap_info_ptr->xcord += 4;
+	smap_info_ptr->xcord += 3;
 	mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord,
-		  smap_info_ptr->xcord, "TIME");
-	smap_info_ptr->xcord += 10;
+		  smap_info_ptr->xcord, "      TIME");
+	smap_info_ptr->xcord += 11;
 	mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord,
 		  smap_info_ptr->xcord, "NODES");
-	smap_info_ptr->xcord += 7;
+	smap_info_ptr->xcord += 6;
 	mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord,
 		  smap_info_ptr->xcord, "NODELIST");
 	smap_info_ptr->xcord = 1;
@@ -140,27 +140,28 @@ int print_text_job(job_info_t * job_ptr)
 	int width = 0;
 	struct passwd *user = NULL;
 	long days, hours, minutes, seconds;
+	char time_buf[20];
 
 	mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord,
 		  smap_info_ptr->xcord, "%c", job_ptr->num_procs);
-	smap_info_ptr->xcord += 4;
+	smap_info_ptr->xcord += 3;
 	mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord,
-		  smap_info_ptr->xcord, "%d", job_ptr->job_id);
+		  smap_info_ptr->xcord, "%6d", job_ptr->job_id);
 	smap_info_ptr->xcord += 7;
 	mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord,
-		  smap_info_ptr->xcord, "%s", job_ptr->partition);
-	smap_info_ptr->xcord += 11;
+		  smap_info_ptr->xcord, "%.10s", job_ptr->partition);
+	smap_info_ptr->xcord += 10;
 	user = getpwuid((uid_t) job_ptr->user_id);
 	mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord,
-		  smap_info_ptr->xcord, "%s", user->pw_name);
-	smap_info_ptr->xcord += 8;
+		  smap_info_ptr->xcord, "%.8s", user->pw_name);
+	smap_info_ptr->xcord += 9;
 	mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord,
-		  smap_info_ptr->xcord, "%s", job_ptr->name);
+		  smap_info_ptr->xcord, "%.9s", job_ptr->name);
 	smap_info_ptr->xcord += 10;
 	mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord,
-		  smap_info_ptr->xcord, "%s",
+		  smap_info_ptr->xcord, "%.2s",
 		  job_state_string_compact(job_ptr->job_state));
-	smap_info_ptr->xcord += 4;
+	smap_info_ptr->xcord += 3;
 	time = smap_info_ptr->now_time - job_ptr->start_time;
 
 	seconds = time % 60;
@@ -169,22 +170,25 @@ int print_text_job(job_info_t * job_ptr)
 	days = time / 86400;
 
 	if (days)
-		mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord,
-			  smap_info_ptr->xcord, "%ld:%2.2ld:%2.2ld:%2.2ld",
-			  days, hours, minutes, seconds);
+		snprintf(time_buf, sizeof(time_buf),
+			"%ld:%2.2ld:%2.2ld:%2.2ld",
+			days, hours, minutes, seconds);
 	else if (hours)
-		mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord,
-			  smap_info_ptr->xcord, "%ld:%2.2ld:%2.2ld", hours,
-			  minutes, seconds);
+		snprintf(time_buf, sizeof(time_buf),
+			"%ld:%2.2ld:%2.2ld", 
+			hours, minutes, seconds);
 	else
-		mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord,
-			  smap_info_ptr->xcord, "%ld:%2.2ld", minutes,
-			  seconds);
+		snprintf(time_buf, sizeof(time_buf),
+			"%ld:%2.2ld", minutes,seconds);
+	width = strlen(time_buf);
+	mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord,
+		smap_info_ptr->xcord + (10 - width), "%s",
+		time_buf);
+	smap_info_ptr->xcord += 11;
 
-	smap_info_ptr->xcord += 10;
 	mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord,
-		  smap_info_ptr->xcord, "%d", job_ptr->num_nodes);
-	smap_info_ptr->xcord += 7;
+		  smap_info_ptr->xcord, "%5d", job_ptr->num_nodes);
+	smap_info_ptr->xcord += 6;
 	tempxcord = smap_info_ptr->xcord;
 	width = smap_info_ptr->text_win->_maxx - smap_info_ptr->xcord;
 	while (job_ptr->nodes[i] != '\0') {
diff --git a/src/smap/partition_functions.c b/src/smap/partition_functions.c
index fe883b41d53e08805e959dce37fad9095fe0969e..1dab9b165811b3539a4cec1584509d1ed5e1dd60 100644
--- a/src/smap/partition_functions.c
+++ b/src/smap/partition_functions.c
@@ -175,13 +175,13 @@ int print_text_part(partition_info_t * part_ptr)
 	int prefixlen;
 	int i = 0;
 	int width = 0;
-	char *nodes;
+	char *nodes, time_buf[20];
 
 	mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord,
 		  smap_info_ptr->xcord, "%c", part_ptr->root_only);
 	smap_info_ptr->xcord += 4;
 	mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord,
-		  smap_info_ptr->xcord, "%s", part_ptr->name);
+		  smap_info_ptr->xcord, "%.9s", part_ptr->name);
 	smap_info_ptr->xcord += 10;
 	if (part_ptr->state_up)
 		mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord,
@@ -191,15 +191,30 @@ int print_text_part(partition_info_t * part_ptr)
 			  smap_info_ptr->xcord, "DOWN");
 	smap_info_ptr->xcord += 7;
 	if (part_ptr->max_time == INFINITE)
-		mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord,
-			  smap_info_ptr->xcord, "UNLIMITED");
-	else
-		mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord,
-			  smap_info_ptr->xcord, "%u", part_ptr->max_time);
-
+		snprintf(time_buf, sizeof(time_buf), "UNLIMITED");
+	else {
+		long minutes, hours, days;
+		minutes = part_ptr->max_time % 60;
+		hours = (part_ptr->max_time / 60) % 24;
+		days = (part_ptr->max_time / (24 * 60));
+		if (days)
+			snprintf(time_buf, sizeof(time_buf),
+				"%ld:%2.2ld:%2.2ld:00",
+				 days, hours, minutes);
+		else if (hours)
+			snprintf(time_buf, sizeof(time_buf),
+				"%ld:%2.2ld:00", hours, minutes);
+		else
+			snprintf(time_buf, sizeof(time_buf),
+				"%ld:00", minutes);
+	}
+	width = strlen(time_buf);
+	mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord,
+		smap_info_ptr->xcord + (9 - width), "%s", 
+		time_buf);
 	smap_info_ptr->xcord += 11;
 	mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord,
-		  smap_info_ptr->xcord, "%d", part_ptr->total_nodes);
+		  smap_info_ptr->xcord, "%5d", part_ptr->total_nodes);
 	smap_info_ptr->xcord += 7;
 
 	tempxcord = smap_info_ptr->xcord;