diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 057e7d6..a6e6fea 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -3690,7 +3690,9 @@
 	    break;
 #ifdef FEAT_CSCOPE
 	case CMD_cscope:
-	    set_context_in_cscope_cmd(xp, arg);
+	case CMD_lcscope:
+	case CMD_scscope:
+	    set_context_in_cscope_cmd(xp, arg, ea.cmdidx);
 	    break;
 #endif
 #ifdef FEAT_LISTCMDS
diff --git a/src/if_cscope.c b/src/if_cscope.c
index 2407ad0..1b0a8cd 100644
--- a/src/if_cscope.c
+++ b/src/if_cscope.c
@@ -98,6 +98,7 @@
 static enum
 {
     EXP_CSCOPE_SUBCMD,	/* expand ":cscope" sub-commands */
+    EXP_SCSCOPE_SUBCMD,	/* expand ":scscope" sub-commands */
     EXP_CSCOPE_FIND,	/* expand ":cscope find" arguments */
     EXP_CSCOPE_KILL	/* expand ":cscope kill" arguments */
 } expand_what;
@@ -112,12 +113,23 @@
     expand_T	*xp;
     int		idx;
 {
+    int		current_idx;
+    int		i;
+
     switch (expand_what)
     {
     case EXP_CSCOPE_SUBCMD:
 	/* Complete with sub-commands of ":cscope":
 	 * add, find, help, kill, reset, show */
 	return (char_u *)cs_cmds[idx].name;
+    case EXP_SCSCOPE_SUBCMD:
+	/* Complete with sub-commands of ":scscope": same sub-commands as
+	 * ":cscope" but skip commands which don't support split windows */
+	for (i = 0, current_idx = 0; cs_cmds[i].name != NULL; i++)
+	    if (cs_cmds[i].cansplit)
+		if (current_idx++ == idx)
+		    break;
+	return (char_u *)cs_cmds[i].name;
     case EXP_CSCOPE_FIND:
 	{
 	    const char *query_type[] =
@@ -133,15 +145,13 @@
 	}
     case EXP_CSCOPE_KILL:
 	{
-	    int			i;
-	    int			current_idx = 0;
 	    static char_u	connection[2];
 
 	    /* ":cscope kill" accepts connection numbers or partial names of
 	     * the pathname of the cscope database as argument.  Only complete
 	     * with connection numbers. -1 can also be used to kill all
 	     * connections. */
-	    for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++)
+	    for (i = 0, current_idx = 0; i < CSCOPE_MAX_CONNECTIONS; i++)
 	    {
 		if (csinfo[i].fname == NULL)
 		    continue;
@@ -165,16 +175,18 @@
  * Handle command line completion for :cscope command.
  */
     void
-set_context_in_cscope_cmd(xp, arg)
+set_context_in_cscope_cmd(xp, arg, cmdidx)
     expand_T	*xp;
     char_u	*arg;
+    cmdidx_T	cmdidx;
 {
     char_u	*p;
 
     /* Default: expand subcommands */
     xp->xp_context = EXPAND_CSCOPE;
-    expand_what = EXP_CSCOPE_SUBCMD;
     xp->xp_pattern = arg;
+    expand_what = (cmdidx == CMD_scscope)
+			? EXP_SCSCOPE_SUBCMD : EXP_CSCOPE_SUBCMD;
 
     /* (part of) subcommand already typed */
     if (*arg != NUL)
diff --git a/src/proto/if_cscope.pro b/src/proto/if_cscope.pro
index 06885b2..af2c076 100644
--- a/src/proto/if_cscope.pro
+++ b/src/proto/if_cscope.pro
@@ -1,6 +1,6 @@
 /* if_cscope.c */
 char_u *get_cscope_name __ARGS((expand_T *xp, int idx));
-void set_context_in_cscope_cmd __ARGS((expand_T *xp, char_u *arg));
+void set_context_in_cscope_cmd __ARGS((expand_T *xp, char_u *arg, cmdidx_T cmdidx));
 void do_cscope __ARGS((exarg_T *eap));
 void do_scscope __ARGS((exarg_T *eap));
 void do_cstag __ARGS((exarg_T *eap));
diff --git a/src/version.c b/src/version.c
index 07ea2cf..220e2df 100644
--- a/src/version.c
+++ b/src/version.c
@@ -677,6 +677,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    156,
+/**/
     155,
 /**/
     154,
