diff --git a/testsuite/expect/Makefile.am b/testsuite/expect/Makefile.am
index e970e8fc33b68e997fc896e2208d38b0fc605c9a..a806ec956404a7b956f9ef3ccfe8b7fa7c3c3b4f 100644
--- a/testsuite/expect/Makefile.am
+++ b/testsuite/expect/Makefile.am
@@ -232,6 +232,8 @@ EXTRA_DIST = \
 	test6.13.prog.c			\
 	test6.14			\
 	test6.15			\
+	test6.16			\
+	test6.17			\
 	test7.1				\
 	test7.2				\
 	test7.2.prog.c			\
diff --git a/testsuite/expect/Makefile.in b/testsuite/expect/Makefile.in
index cfcdc093d505ba87c4010eaf5a7f13b37c364c24..0caa240bcbf410afa360eab8a98d982087f16135 100644
--- a/testsuite/expect/Makefile.in
+++ b/testsuite/expect/Makefile.in
@@ -646,6 +646,8 @@ EXTRA_DIST = \
 	test6.13.prog.c			\
 	test6.14			\
 	test6.15			\
+	test6.16			\
+	test6.17			\
 	test7.1				\
 	test7.2				\
 	test7.2.prog.c			\
diff --git a/testsuite/expect/README b/testsuite/expect/README
index 22d562611e9fec14e5e4d60bf1ff4839e6d7f572..615692cbb6161a0e9cb2731030ad19e22fac0aa5 100644
--- a/testsuite/expect/README
+++ b/testsuite/expect/README
@@ -336,6 +336,7 @@ test6.13   Test routing all signals through slurmctld rather than slurmd
 test6.14   Test scancel nodelist option (--nodelist or -w).
 test6.15   Test scancel signal of full job including batch script (--full option).
 test6.16   Validate scancel of multiple job steps (job.step specification).
+test6.17   Test scancel handling of invalid job IDs and filters.
 
 test7.#    Testing of other functionality.
 ==========================================
diff --git a/testsuite/expect/test6.17 b/testsuite/expect/test6.17
new file mode 100755
index 0000000000000000000000000000000000000000..e72a33c8c4989cca6ec9bb3199cadb07b57683f9
--- /dev/null
+++ b/testsuite/expect/test6.17
@@ -0,0 +1,116 @@
+#!/usr/bin/env expect
+############################################################################
+# Purpose: Test of SLURM functionality
+#          Test scancel handling of invalid job IDs and filters.
+#
+# 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) 2017 SchedMD LLC.
+# Written by Morris Jette <jette@schedmd.com>
+#
+# This file is part of SLURM, a resource management program.
+# For details, see <http://slurm.schedmd.com/>.
+# 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      "6.17"
+set exit_code    0
+
+print_header $test_id
+
+#
+# Test scancel with name filter that finds no jobs
+#
+set matches  0
+spawn $scancel --name=INVALID --qos=INVALID --verbose
+expect {
+	-re "No active jobs match ALL" {
+		incr matches
+		exp_continue
+	}
+	timeout {
+		send_user "\nFAILURE: scancel not responding\n"
+		set exit_code 1
+	}
+	eof {
+		wait
+	}
+}
+if {$matches != 1} {
+	send_user "\nFAILURE: scancel failed to log no matching jobs\n"
+	set exit_code 1
+}
+
+#
+# Test scancel with invalid job ID
+#
+set matches  0
+spawn $scancel INVALID
+expect {
+	-re "Invalid job id" {
+		send_user "\nError is expected, no worries.\n"
+		incr matches
+		exp_continue
+	}
+	timeout {
+		send_user "\nFAILURE: scancel not responding\n"
+		set exit_code 1
+	}
+	eof {
+		wait
+	}
+}
+if {$matches != 1} {
+	send_user "\nFAILURE: scancel failed to log invalid job ID\n"
+	set exit_code 1
+}
+send_user "\n\n\n"
+
+#
+# Test scancel with invalid job ID
+#
+set matches  0
+spawn $scancel 0
+expect {
+	-re "Invalid job id" {
+		send_user "\nError is expected, no worries.\n"
+		incr matches
+		exp_continue
+	}
+	timeout {
+		send_user "\nFAILURE: scancel not responding\n"
+		set exit_code 1
+	}
+	eof {
+		wait
+	}
+}
+if {$matches != 1} {
+	send_user "\nFAILURE: scancel failed to log invalid job ID\n"
+	set exit_code 1
+}
+
+if {$exit_code == 0} {
+	send_user "\nSUCCESS\n"
+} else {
+	send_user "\nFAILURE\n"
+}
+exit $exit_code
+