diff --git a/NEWS b/NEWS
index 3962becb1..deaf78cac 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,6 @@
 ver 0.21.17 (not yet released)
+* outputs
+  - jack: mark ports as terminal
 
 ver 0.21.16 (2019/10/16)
 * queue
diff --git a/src/output/plugins/JackOutputPlugin.cxx b/src/output/plugins/JackOutputPlugin.cxx
index 900c2baaf..141105909 100644
--- a/src/output/plugins/JackOutputPlugin.cxx
+++ b/src/output/plugins/JackOutputPlugin.cxx
@@ -403,10 +403,11 @@ JackOutput::Connect()
 	jack_on_shutdown(client, mpd_jack_shutdown, this);
 
 	for (unsigned i = 0; i < num_source_ports; ++i) {
+		unsigned long portflags = JackPortIsOutput | JackPortIsTerminal;
 		ports[i] = jack_port_register(client,
 					      source_ports[i].c_str(),
 					      JACK_DEFAULT_AUDIO_TYPE,
-					      JackPortIsOutput, 0);
+					      portflags, 0);
 		if (ports[i] == nullptr) {
 			Disconnect();
 			throw FormatRuntimeError("Cannot register output port \"%s\"",