diff --git a/testsuite/expect/Makefile.am b/testsuite/expect/Makefile.am
index 50d3221a9cdd0928927b8f1b5e5b5abb625843ad..60dd7d8faad4238f5a20094511d31f1c39efb141 100644
--- a/testsuite/expect/Makefile.am
+++ b/testsuite/expect/Makefile.am
@@ -213,6 +213,7 @@ EXTRA_DIST = \
 	test12.2.prog.c			\
 	test12.3			\
 	test12.4			\
+	test12.5			\
 	test13.1			\
 	test14.1			\
 	test14.2			\
diff --git a/testsuite/expect/README b/testsuite/expect/README
index b4b237b87426d37fce1647f181f302911c8eaa8d..baa6c2c16f17171df8c1bc1ed71382612149d507 100644
--- a/testsuite/expect/README
+++ b/testsuite/expect/README
@@ -354,7 +354,8 @@ test12.1   Test sacct --help option.
 test12.2   Test validity/accuracy of accounting data for exit code, 
            memory and real-time information along with stating a running job.
 test12.3   Test sacct --allusers option.
-test12.3   Test sacct --brief option.
+test12.4   Test sacct --brief option.
+test12.5   Test sacct --helpformat option.
 
 
 test13.#   Testing of switch plugins
diff --git a/testsuite/expect/test12.5 b/testsuite/expect/test12.5
new file mode 100755
index 0000000000000000000000000000000000000000..d8113e3bafb384e3a6290bfe23885fdfb98b03cf
--- /dev/null
+++ b/testsuite/expect/test12.5
@@ -0,0 +1,156 @@
+#!/usr/bin/expect
+############################################################################
+# Purpose: Test of SLURM functionality
+#          Test sacct --helpformat option.
+#
+# 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) 2008-2009 TheLawrence Livermore National Security, LLC .
+# Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER).
+# Written by Joseph Donaghy <donaghy1@llnl.gov>
+# LLNL-CODE-402394.
+# 
+# This file is part of SLURM, a resource management program.
+# For details, see <http://www.llnl.gov/linux/slurm/>.
+#  
+# 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     "12.5"
+set exit_code   0
+set matches     0
+set not_support 0
+
+print_header $test_id
+
+################################################################
+#
+# Proc: sacct
+#
+# Purpose:  Pass sacct options and test
+#
+# Returns: Number of matches.
+#
+# Input: Switch options -e and --helpformat
+#
+################################################################
+
+proc sacct_job { soption } {
+	global sacct
+set exit_code   0
+set matches     0
+set not_support 0
+	send_user "sacct -$soption\n"
+spawn $sacct -$soption
+expect {
+	-re "SLURM accounting storage is disabled" {
+		set not_support 1
+		exp_continue
+	}
+	-re "AllocCPUS     Account       AssocID       AveCPU" {
+		incr matches
+		exp_continue
+	}
+	-re "AvePages      AveRSS        AveVSize      BlockID" {
+		incr matches
+		exp_continue
+	}
+	-re "Cluster       CPUTime       CPUTimeRAW    Elapsed" {
+		incr matches
+		exp_continue
+	}
+	-re "Eligible      End           ExitCode      GID" {
+		incr matches
+		exp_continue
+	}
+	-re "Group         JobID         JobName       NodeList" {
+		incr matches
+		exp_continue
+	}
+	-re "MaxPages      MaxPagesNode  MaxPagesTask  MaxRSS" {
+		incr matches
+		exp_continue
+	}
+	-re "MaxRSSNode    MaxRSSTask    MaxVSize      MaxVSizeNode" {
+		incr matches
+		exp_continue
+	}
+	-re "MaxVSizeTask  MinCPU        MinCPUNode    MinCPUTask" {
+		incr matches
+		exp_continue
+	}
+	-re "NCPUS         NNodes        NTasks        Priority" {
+		incr matches
+		exp_continue
+	}
+	-re "Partition     QOS           QOSRAW        ReqCPUS" {
+		incr matches
+		exp_continue
+	}
+	-re "Reserved      ResvCPU       ResvCPURAW    Start" {
+		incr matches
+		exp_continue
+	}
+	-re "State         Submit        Suspended     SystemCPU" {
+		incr matches
+		exp_continue
+	}
+	-re "Timelimit     TotalCPU      UID           User" {
+		incr matches
+		exp_continue
+	}
+	-re "UserCPU       WCKey         WCKeyID" {
+		incr matches
+		exp_continue
+	}
+	timeout {
+		send_user "\nFAILURE: sacct not responding\n"
+		set exit_code 1
+	}
+	eof {
+		wait
+	}
+}
+
+if {$not_support != 0} {
+	send_user "\nWARNING: can not test without accounting enabled\n"
+	exit 0
+}
+if {$matches != 14} {
+	send_user "\nFAILURE: sacct -$soption failed ($matches)\n"
+	set exit_code 1
+}
+	return $matches
+}
+################################################################
+set matches [sacct_job -helpformat]
+if {$matches != 14} {
+	send_user "\nFAILURE: sacct --allusers failed ($matches)\n"
+	set exit_code 1
+}
+
+set matches [sacct_job e]
+if {$matches != 14} {
+	send_user "\nFAILURE: sacct -a failed ($matches)\n"
+	set exit_code 1
+}
+
+if {$exit_code == 0} {
+	send_user "\nSUCCESS\n"
+}
+exit $exit_code