diff --git a/src/option.c b/src/option.c
index 1211ce7..14f8ade 100644
--- a/src/option.c
+++ b/src/option.c
@@ -3048,7 +3048,7 @@
 
     varp = get_varp_scope(&(options[opt_idx]), both ? OPT_LOCAL : opt_flags);
     flags = options[opt_idx].flags;
-    if (varp != NULL)	    /* nothing to do for hidden option */
+    if (varp != NULL)	    /* skip hidden option, nothing to do for it */
     {
 	dvi = ((flags & P_VI_DEF) || compatible) ? VI_DEFAULT : VIM_DEFAULT;
 	if (flags & P_STRING)
@@ -6678,6 +6678,7 @@
 	if (curwin->w_p_spell)
 	{
 	    char_u	*errmsg = did_set_spelllang(curbuf);
+
 	    if (errmsg != NULL)
 		EMSG(_(errmsg));
 	}
diff --git a/src/syntax.c b/src/syntax.c
index b4dfed4..1d8f41b 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -2202,10 +2202,10 @@
 	     * done in the current item.
 	     */
 
-	    /* If there is no @Spell cluster: Do spelling for items without
-	     * @NoSpell.  Otherwise only in items with @Spell */
 	    if (syn_buf->b_spell_cluster_id == 0)
 	    {
+		/* There is no @Spell cluster: Do spelling for items without
+		 * @NoSpell cluster. */
 		if (syn_buf->b_nospell_cluster_id == 0 || current_trans_id == 0)
 		    *can_spell = TRUE;
 		else
@@ -2216,14 +2216,26 @@
 		    *can_spell = !in_id_list(sip, sip->si_cont_list, &sps, 0);
 		}
 	    }
-	    else if (current_trans_id == 0)
-		*can_spell = FALSE;
 	    else
 	    {
-		sps.inc_tag = 0;
-		sps.id = syn_buf->b_spell_cluster_id;
-		sps.cont_in_list = NULL;
-		*can_spell = in_id_list(sip, sip->si_cont_list, &sps, 0);
+		/* The @Spell cluster is defined: Do spelling in items with
+		 * the @Spell cluster.  But not when @NoSpell is also there. */
+		if (current_trans_id == 0)
+		    *can_spell = FALSE;
+		else
+		{
+		    sps.inc_tag = 0;
+		    sps.id = syn_buf->b_spell_cluster_id;
+		    sps.cont_in_list = NULL;
+		    *can_spell = in_id_list(sip, sip->si_cont_list, &sps, 0);
+
+		    if (syn_buf->b_nospell_cluster_id != 0)
+		    {
+			sps.id = syn_buf->b_nospell_cluster_id;
+			if (in_id_list(sip, sip->si_cont_list, &sps, 0))
+			    *can_spell = FALSE;
+		    }
+		}
 	    }
 	}
 
