diff --git a/src/channel.c b/src/channel.c
index aa58803..d8e55e7 100644
--- a/src/channel.c
+++ b/src/channel.c
@@ -2595,7 +2595,7 @@
 #endif
 
 
-/* Sent when the channel is found closed when reading. */
+/* Sent when the netbeans channel is found closed when reading. */
 #define DETACH_MSG_RAW "DETACH\n"
 
 /* Buffer size for reading incoming messages. */
@@ -2766,7 +2766,7 @@
 }
 
     static void
-channel_close_on_error(channel_T *channel, int part, char *func)
+channel_close_on_error(channel_T *channel, char *func)
 {
     /* Do not call emsg(), most likely the other end just exited. */
     ch_errors(channel, "%s(): Cannot read from channel", func);
@@ -2780,10 +2780,9 @@
      *		-> ui_breakcheck
      *		    -> gui event loop or select loop
      *			-> channel_read()
-     * Don't send "DETACH" for a JS or JSON channel.
+     * Only send "DETACH" for a netbeans channel.
      */
-    if (channel->ch_part[part].ch_mode == MODE_RAW
-			     || channel->ch_part[part].ch_mode == MODE_NL)
+    if (channel->ch_nb_close_cb != NULL)
 	channel_save(channel, PART_OUT, (char_u *)DETACH_MSG_RAW,
 			      (int)STRLEN(DETACH_MSG_RAW), FALSE, "PUT ");
 
@@ -2847,7 +2846,7 @@
 
     /* Reading a disconnection (readlen == 0), or an error. */
     if (readlen <= 0)
-	channel_close_on_error(channel, part, func);
+	channel_close_on_error(channel, func);
 
 #if defined(CH_HAS_GUI) && defined(FEAT_GUI_GTK)
     /* signal the main loop that there is something to read */
@@ -3119,8 +3118,7 @@
 		if (r == CW_READY)
 		    channel_read(channel, part, "channel_handle_events");
 		else if (r == CW_ERROR)
-		    channel_close_on_error(channel, part,
-						   "channel_handle_events()");
+		    channel_close_on_error(channel, "channel_handle_events()");
 	    }
 	}
     }
diff --git a/src/testdir/test_channel.vim b/src/testdir/test_channel.vim
index 702fa0c..8e29d32 100644
--- a/src/testdir/test_channel.vim
+++ b/src/testdir/test_channel.vim
@@ -1056,13 +1056,10 @@
 
   let s:counter = 1
   let s:msg1 = ''
-  let s:msg2 = ''
   let s:closemsg = 0
   func! OutHandler(chan, msg)
     if s:counter == 1
       let s:msg1 = a:msg
-    else
-      let s:msg2 = a:msg
     endif
     let s:counter += 1
   endfunc
@@ -1075,10 +1072,9 @@
 	\ 'close_cb': 'CloseHandler'})
   call assert_equal("run", job_status(job))
   try
-    call s:waitFor('s:closemsg != 0 && s:msg2 != ""')
+    call s:waitFor('s:closemsg != 0 && s:msg1 != ""')
     call assert_equal('quit', s:msg1)
-    call assert_equal('DETACH', s:msg2)
-    call assert_equal(3, s:closemsg)
+    call assert_equal(2, s:closemsg)
   finally
     call job_stop(job)
     delfunc OutHandler
diff --git a/src/version.c b/src/version.c
index 59673b5..28308a6 100644
--- a/src/version.c
+++ b/src/version.c
@@ -754,6 +754,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1810,
+/**/
     1809,
 /**/
     1808,
