diff --git a/src/change.c b/src/change.c
index 8ba0a54..b7618c5 100644
--- a/src/change.c
+++ b/src/change.c
@@ -1392,14 +1392,7 @@
     int		do_cindent;
 #endif
 #ifdef FEAT_SMARTINDENT
-    int		do_si = (!p_paste && curbuf->b_p_si
-# ifdef FEAT_CINDENT
-					&& !curbuf->b_p_cin
-# endif
-# ifdef FEAT_EVAL
-					&& *curbuf->b_p_inde == NUL
-# endif
-			);
+    int		do_si = may_do_si();
     int		no_si = FALSE;		// reset did_si afterwards
     int		first_char = NUL;	// init for GCC
 #endif
diff --git a/src/edit.c b/src/edit.c
index 3da3db6..5b06131 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -1295,7 +1295,7 @@
 #endif
 	    compl_busy = FALSE;
 #ifdef FEAT_SMARTINDENT
-	    can_si = TRUE; // allow smartindenting
+	    can_si = may_do_si(); // allow smartindenting
 #endif
 	    break;
 
diff --git a/src/indent.c b/src/indent.c
index 06d98f9..dfc481a 100644
--- a/src/indent.c
+++ b/src/indent.c
@@ -1169,6 +1169,22 @@
 
 #ifdef FEAT_SMARTINDENT
 /*
+ * Return TRUE if the conditions are OK for smart indenting.
+ */
+    int
+may_do_si()
+{
+    return curbuf->b_p_si
+# ifdef FEAT_CINDENT
+	&& !curbuf->b_p_cin
+# endif
+# ifdef FEAT_EVAL
+	&& *curbuf->b_p_inde == NUL
+# endif
+	&& !p_paste;
+}
+
+/*
  * Try to do some very smart auto-indenting.
  * Used when inserting a "normal" character.
  */
@@ -1235,7 +1251,7 @@
     }
 
     // set indent of '#' always to 0
-    if (curwin->w_cursor.col > 0 && can_si && c == '#')
+    if (curwin->w_cursor.col > 0 && can_si && c == '#' && inindent(0))
     {
 	// remember current indent for next line
 	old_indent = get_indent();
diff --git a/src/ops.c b/src/ops.c
index 4adeb09..b11cbf5 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -1718,12 +1718,7 @@
     {
 	l = 0;
 #ifdef FEAT_SMARTINDENT
-	if (!p_paste && curbuf->b_p_si
-# ifdef FEAT_CINDENT
-		&& !curbuf->b_p_cin
-# endif
-		)
-	    can_si = TRUE;	// It's like opening a new line, do si
+	can_si = may_do_si();	// Like opening a new line, do smart indent
 #endif
     }
 
diff --git a/src/proto/indent.pro b/src/proto/indent.pro
index a42f20f..2702f40 100644
--- a/src/proto/indent.pro
+++ b/src/proto/indent.pro
@@ -23,6 +23,7 @@
 int inindent(int extra);
 void op_reindent(oparg_T *oap, int (*how)(void));
 int preprocs_left(void);
+int may_do_si(void);
 void ins_try_si(int c);
 void change_indent(int type, int amount, int round, int replaced, int call_changed_bytes);
 int copy_indent(int size, char_u *src);
diff --git a/src/testdir/test_smartindent.vim b/src/testdir/test_smartindent.vim
index 7b58af2..edfec9a 100644
--- a/src/testdir/test_smartindent.vim
+++ b/src/testdir/test_smartindent.vim
@@ -134,4 +134,21 @@
   bw!
 endfunc
 
+func Test_si_after_completion()
+  new
+  setlocal ai smartindent indentexpr=
+  call setline(1, 'foo foot')
+  call feedkeys("o  f\<C-X>\<C-N>#", 'tx')
+  call assert_equal('  foo#', getline(2))
+  bwipe!
+endfunc
+
+func Test_no_si_after_completion()
+  new
+  call setline(1, 'foo foot')
+  call feedkeys("o  f\<C-X>\<C-N>#", 'tx')
+  call assert_equal('  foo#', getline(2))
+  bwipe!
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/version.c b/src/version.c
index 8d3f2e7..c9ec301 100644
--- a/src/version.c
+++ b/src/version.c
@@ -747,6 +747,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    4951,
+/**/
     4950,
 /**/
     4949,
