diff --git a/NEWS b/NEWS
index 85b11b3cb881e8d5239054936daac46909779b82..0e560ddffac7f1449909952f738af6a8051e035a 100644
--- a/NEWS
+++ b/NEWS
@@ -14,7 +14,7 @@ documents those changes that are of interest to users and admins.
  -- Rename "slurm-aix-federation-<version>.rpm" to just 
     "slurm-aix-<version>.rpm" (federation switch plugin may not be present).
  -- Eliminated the redundant squeue output format and sort options of 
-    "%D" and "%b". Use "%o" and "%S" formats respectively. Also eliminated 
+    "%o" and "%b". Use "%D" and "%S" formats respectively. Also eliminated 
     "%X" and "%Y" and "%Z" formats. Use "%z" instead.
  -- Added mechanism for SPANK plugins to set environment variables for
     Prolog, Epilog, PrologSLurmctld and EpilogSlurmctld programs using
diff --git a/RELEASE_NOTES b/RELEASE_NOTES
index e52d34457b4018dd4c6f12ccf5032cb5b3801e65..6a49767b3fdb7cb56b44f4a85e5972b459787dc1 100644
--- a/RELEASE_NOTES
+++ b/RELEASE_NOTES
@@ -32,7 +32,7 @@ CONFIGURATION FILE CHANGES (see "man slurm.conf" for details)
 
 COMMAND CHANGES (see man pages for details)
 * Several redundant squeue output and sorting options have been removed: 
-  "%D" (use %o"), "%b" (use "%S"), "%X", %Y, and "%Z" (use "%z").
+  "%o" (use %D"), "%b" (use "%S"), "%X", %Y, and "%Z" (use "%z").
 * Standardized on the use of the '-Q' flag for all commands that offer the
   --quiet option.
 
diff --git a/doc/man/man1/squeue.1 b/doc/man/man1/squeue.1
index d2563d51dd9d5190ab5b8b85c57ae5ceaf7d9310..c9b841c8d791e5471e25d9f7443b68b31896c7b4 100644
--- a/doc/man/man1/squeue.1
+++ b/doc/man/man1/squeue.1
@@ -111,6 +111,14 @@ it if already running.
 \fB%d\fR 
 Minimum size of temporary disk space (in MB) requested by the job.
 .TP
+\fB%D\fR 
+Number of nodes allocated to the job or the minimum number of nodes 
+required by a pending job. The actual number of nodes allocated to a pending 
+job may exceed this number if the job specified a node range count (e.g. 
+minimum and maximum node counts) or the the job specifies a processor 
+count instead of a node count and the cluster contains nodes with varying 
+processor counts.
+.TP
 \fB%e\fR 
 Time at which the job ended or is expected to end (based upon its time limit)
 .TP
@@ -173,14 +181,6 @@ List of nodes allocated to the job or job step. In the case of a
 nodes that have not yet been returned to service. This may result 
 in the node count being greater than the number of listed nodes.
 .TP
-\fB%o\fR
-Number of nodes allocated to the job or the minimum number of nodes
-required by a pending job. The actual number of nodes allocated to a
-pending job may exceed this number if the job specified a node range
-count (e.g.  minimum and maximum node counts) or the the job specifies
-a processor count instead of a node count and the cluster contains
-nodes with varying processor counts.
-.TP
 \fB%O\fR
 Are contiguous nodes requested by the job.
 .TP
diff --git a/src/squeue/opts.c b/src/squeue/opts.c
index 4db662b434a6fedefc5e388e27724a7f71863c6f..c8bab6d300cb0d6ea22d26ede013c293ffc7a381 100644
--- a/src/squeue/opts.c
+++ b/src/squeue/opts.c
@@ -485,6 +485,11 @@ extern int parse_format( char* format )
 				                          field_size, 
 				                          right_justify, 
 				                          suffix  );
+			else if (field[0] == 'D')
+				job_format_add_num_nodes( params.format_list,
+				                          field_size, 
+				                          right_justify, 
+				                          suffix  );
 			else if (field[0] == 'e')
 				job_format_add_time_end( params.format_list, 
 				                         field_size, 
@@ -563,11 +568,6 @@ extern int parse_format( char* format )
 				job_format_add_nodes( params.format_list, 
 				                      field_size, 
 				                      right_justify, suffix );
-			else if (field[0] == 'o')
-				job_format_add_num_nodes( params.format_list, 
-				                          field_size, 
-				                          right_justify, 
-				                          suffix );
 			else if (field[0] == 'O')
 				job_format_add_contiguous( params.format_list, 
 				                           field_size, 
diff --git a/src/squeue/sort.c b/src/squeue/sort.c
index 26917f996d3c39f9637f85d242ad2705722ae11c..d3c89242d5660dd7ff9e67d57424c81fcdd248b1 100644
--- a/src/squeue/sort.c
+++ b/src/squeue/sort.c
@@ -108,6 +108,8 @@ void sort_job_list(List job_list)
 			list_sort(job_list, _sort_job_by_num_procs);
 		else if (params.sort[i] == 'd')
 			list_sort(job_list, _sort_job_by_min_tmp_disk);
+		else if (params.sort[i] == 'D')
+			list_sort(job_list, _sort_job_by_num_nodes);
 		else if (params.sort[i] == 'e')
 			list_sort(job_list, _sort_job_by_time_end);
 		else if (params.sort[i] == 'f')
@@ -138,8 +140,6 @@ void sort_job_list(List job_list)
 			;	/* sort_job_by_nodes_requested */
 		else if (params.sort[i] == 'N')
 			list_sort(job_list, _sort_job_by_node_list);
-		else if (params.sort[i] == 'o')
-			list_sort(job_list, _sort_job_by_num_nodes);
 		else if (params.sort[i] == 'O')
 			;	/* sort_job_by_contiguous */
 		else if (params.sort[i] == 'p')
diff --git a/src/squeue/squeue.c b/src/squeue/squeue.c
index eff4989d342c6a447beab9b14b06f684ef703cea..0bc20e81cf5f82e711284cb25e41647e5578707d 100644
--- a/src/squeue/squeue.c
+++ b/src/squeue/squeue.c
@@ -185,9 +185,9 @@ _print_job ( void )
 	if (params.format == NULL) {
 		if (params.long_list)
 			params.format = "%.7i %.9P %.8j %.8u %.8T %.10M %.9l "
-			                "%.6o %R";
+			                "%.6D %R";
 		else
-			params.format = "%.7i %.9P %.8j %.8u  %.2t %.10M %.6o %R";
+			params.format = "%.7i %.9P %.8j %.8u  %.2t %.10M %.6D %R";
 	}
 	if (params.format_list == NULL)
 		parse_format(params.format);