patch 8.0.1589: error for setting 'modifiable' when resetting it

Problem:    Error for setting 'modifiable' when resetting it.
Solution:   Check if 'modifiable' was actually set.
diff --git a/src/option.c b/src/option.c
index a2142aa..3a0a659 100644
--- a/src/option.c
+++ b/src/option.c
@@ -8190,8 +8190,8 @@
     {
 # ifdef FEAT_TERMINAL
 	/* Cannot set 'modifiable' when in Terminal mode. */
-	if (term_in_normal_mode()
-			 || (bt_terminal(curbuf) && !term_is_finished(curbuf)))
+	if (curbuf->b_p_ma && (term_in_normal_mode() || (bt_terminal(curbuf)
+		      && curbuf->b_term != NULL && !term_is_finished(curbuf))))
 	{
 	    curbuf->b_p_ma = FALSE;
 	    return (char_u *)N_("E946: Cannot make a terminal with running job modifiable");
diff --git a/src/version.c b/src/version.c
index 8bbd1e4..d21b8b1 100644
--- a/src/version.c
+++ b/src/version.c
@@ -767,6 +767,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1589,
+/**/
     1588,
 /**/
     1587,