diff --git a/testsuite/expect/Makefile.am b/testsuite/expect/Makefile.am
index 06561987035dee86c8e67fc1102f3068878e13cd..baa5c04ad5d1d3fcbbc1ee578511a180a22ce7f2 100644
--- a/testsuite/expect/Makefile.am
+++ b/testsuite/expect/Makefile.am
@@ -402,6 +402,7 @@ EXTRA_DIST = \
 	test27.5			\
 	test28.1                        \
 	test28.2                        \
+	test28.3                        \
 	usleep
 
 distclean-local:
diff --git a/testsuite/expect/Makefile.in b/testsuite/expect/Makefile.in
index a30eba2c8aad3c4e8f38ae530fa9ba5588f81d6f..fede8b996e5a817dedd12192f0f35254f70c2001 100644
--- a/testsuite/expect/Makefile.in
+++ b/testsuite/expect/Makefile.in
@@ -720,6 +720,7 @@ EXTRA_DIST = \
 	test27.5			\
 	test28.1                        \
 	test28.2                        \
+	test28.3                        \
 	usleep
 
 all: all-am
diff --git a/testsuite/expect/README b/testsuite/expect/README
index 931ccdb526724af9c959172215ca3f88175cea58..cec17acbe79a069a9dc5d6cb323307fa1c91f93d 100644
--- a/testsuite/expect/README
+++ b/testsuite/expect/README
@@ -626,3 +626,5 @@ test28.1   Confirms sbatch --array and scancel of the job arrays.
 test28.2   checks that the --array environment varibles are correct, and
 	   checks that the --output and -error files were created and
 	   contain the correct information.
+test28.3   Validates that the scontrol show job contains the job array
+	   fields
diff --git a/testsuite/expect/test28.2 b/testsuite/expect/test28.2
index 72dc5ac02b2e3395548d259f070d58de0a673a76..dfad1fee3b692b67fe1796af5f444ce10f89c42c 100755
--- a/testsuite/expect/test28.2
+++ b/testsuite/expect/test28.2
@@ -37,8 +37,8 @@ set file_script  "test$test_id.sh"
 set file_out     "test$test_id-%A_%a.output"
 set file_error   "test$test_id-%A_%a.error"
 set job_id       0
-set array_begin  "0"
-set array_end    "4"
+set array_begin  0
+set array_end    4
 set array_id     ""
 set array_in     ""
 set array_var    ""
diff --git a/testsuite/expect/test28.3 b/testsuite/expect/test28.3
new file mode 100755
index 0000000000000000000000000000000000000000..b8c3782dd0460f288767ea0f084ea2fc44891420
--- /dev/null
+++ b/testsuite/expect/test28.3
@@ -0,0 +1,105 @@
+#!/usr/bin/expect
+############################################################################
+# Purpose: Test of SLURM functionality
+#          Validates that the scontrol show job option has the job
+#          array fields
+#
+#
+# Output:  "TEST: #.#" followed by "SUCCESS" if test was successful, OR
+#          "FAILURE: ..." otherwise with an explanation of the failure, OR
+#          anything else indicates a failure mode that must be investigated.
+############################################################################
+# Copyright (C) 2011-2013 SchedMD LLC
+# Written by Nathan Yee <nyee32@schedmd.com>
+#
+# This file is part of SLURM, a resource management program.
+# For details, see <http://www.schedmd.com/slurmdocs/>.
+# Please also read the included file: DISCLAIMER.
+#
+# SLURM is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free
+# Software Foundation; either version 2 of the License, or (at your option)
+# any later version.
+#
+# SLURM is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+# details.
+#
+# You should have received a copy of the GNU General Public License along
+# with SLURM; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA.
+############################################################################
+source ./globals
+
+set test_id       "28.3"
+set exit_code     0
+set array_size    4
+set file_script   "test$test_id.sh"
+set job_id        0
+
+print_header $test_id
+
+if {[get_array_config] < [expr $array_size + 1]} {
+	send_user "\nWARNING: MaxArraySize is to small\n"
+	exit 0
+}
+
+proc check_ids { job } {
+
+	global scontrol array_size exit_code number
+
+	for {set index 0} {$index<$array_size} {incr index} {
+		set match 0
+		spawn $scontrol show job $job\_$index
+		expect {
+			-re "JobId=($number) ArrayJobId=$job ArrayTaskId=($number) " {
+				if {$job == [expr $expect_out(1,string) - $expect_out(2,string)]} {
+					incr match
+				}
+			}
+			timeout {
+				send_user "\nFAILURE: scontrol is not responding\n"
+				set exit_code 1
+			}
+			eof {
+				wait
+			}
+		}
+		if {$match != 1} {
+			send_user "\nFAILURE: Array IDs for $job\_$index not found\n"
+			set exit_code 1
+		}
+	}
+}
+
+make_bash_script $file_script "sleep 10"
+
+spawn $sbatch -N1 --array=0-[expr $array_size - 1] --begin=midnight --output=/dev/null $file_script
+expect {
+	-re "Submitted batch job ($number)" {
+		set job_id $expect_out(1,string)
+		send_user "\njob $job_id was submitted\n"
+	}
+	-re "error" {
+		send_user "\nFAILURE: sbatch did not submit jobs\n"
+		set exit_code 1
+	}
+	timout {
+		send_user "\nFAILURE: sbatch not responding\n"
+		set exit_code 1
+	}
+	eof {
+		wait
+	}
+}
+if {$job_id != 0} {
+	check_ids $job_id
+	cancel_job $job_id
+}
+
+if {$exit_code == 0} {
+	exec $bin_rm -f $file_script
+	send_user "\nSUCCESS\n"
+}
+exit $exit_code