diff --git a/src/testdir/test_indent.vim b/src/testdir/test_indent.vim
index a01b066..f96da69 100644
--- a/src/testdir/test_indent.vim
+++ b/src/testdir/test_indent.vim
@@ -172,7 +172,8 @@
         \ 'metus lectus ultrices odio, sed elementum mi ante at arcu.', '', '\begin{center}', '',
         \ 'Proin nec risus consequat nunc dapibus consectetur. Mauris lacinia est a augue',
         \ 'tristique accumsan. Morbi pretium, felis molestie eleifend condimentum, arcu',
-        \ 'ipsum congue nisl, quis euismod purus libero in ante. Donec id semper purus.',
+        \ 'ipsum congue nisl, quis euismod purus libero in ante.', '',
+        \ 'Donec id semper purus.',
         \ 'Suspendisse eget aliquam nunc. Maecenas fringilla mauris vitae maximus',
         \ 'condimentum. Cras a quam in mi dictum eleifend at a lorem. Sed convallis',
         \ 'ante a commodo facilisis. Nam suscipit vulputate odio, vel dapibus nisl',
@@ -181,10 +182,10 @@
   1d_
   call cursor(5, 1)
   ka
-  call cursor(15, 1)
+  call cursor(14, 1)
   kb
   norm! 'agqap
-  norm! 'bgqap
+  norm! 'bgqG
   let expected = [ '\documentclass{article}', '', '\begin{document}', '',
         \ 'Lorem ipsum dolor sit amet, consectetur adipiscing',
         \ 'elit. Fusce ut enim non libero efficitur aliquet.',
@@ -201,9 +202,10 @@
         \ '  consectetur. Mauris lacinia est a augue',
         \ '  tristique accumsan. Morbi pretium, felis',
         \ '  molestie eleifend condimentum, arcu ipsum congue',
-        \ '  nisl, quis euismod purus libero in ante. Donec',
-        \ '  id semper purus.  Suspendisse eget aliquam nunc.',
-        \ '  Maecenas fringilla mauris vitae maximus',
+        \ '  nisl, quis euismod purus libero in ante.',
+        \ '',
+        \ '  Donec id semper purus.  Suspendisse eget aliquam',
+        \ '  nunc. Maecenas fringilla mauris vitae maximus',
         \ '  condimentum. Cras a quam in mi dictum eleifend',
         \ '  at a lorem. Sed convallis ante a commodo',
         \ '  facilisis. Nam suscipit vulputate odio, vel',
@@ -217,4 +219,28 @@
   delfunction GetTeXIndent 
 endfu
 
+func Test_formatting_keeps_first_line_indent()
+  let lines =<< trim END
+      foo()
+      {
+          int x;         // manually positioned
+                         // more text that will be formatted
+                         // but not reindented
+  END
+  new
+  call setline(1, lines)
+  setlocal sw=4 cindent tw=45 et
+  normal! 4Ggqj
+  let expected =<< trim END
+      foo()
+      {
+          int x;         // manually positioned
+                         // more text that will be
+                         // formatted but not
+                         // reindented
+  END
+  call assert_equal(expected, getline(1, '$'))
+  bwipe!
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/textformat.c b/src/textformat.c
index 246f06f..fb2ca95 100644
--- a/src/textformat.c
+++ b/src/textformat.c
@@ -954,6 +954,7 @@
     int		smd_save;
     long	count;
     int		need_set_indent = TRUE;	// set indent of next paragraph
+    linenr_T	first_line = curwin->w_cursor.lnum;
     int		force_format = FALSE;
     int		old_State = State;
 
@@ -1073,8 +1074,13 @@
 		{
 		    int		indent = 0; // amount of indent needed
 
-		    // replace indent in first line with minimal number of
-		    // tabs and spaces, according to current options
+		    // Replace indent in first line of a paragraph with minimal
+		    // number of tabs and spaces, according to current options.
+		    // For the very first formatted line keep the current
+		    // indent.
+		    if (curwin->w_cursor.lnum == first_line)
+			indent = get_indent();
+		    else
 # ifdef FEAT_LISP
 		    if (curbuf->b_p_lisp)
 			indent = get_lisp_indent();
diff --git a/src/version.c b/src/version.c
index aff25cf..d0ccf16 100644
--- a/src/version.c
+++ b/src/version.c
@@ -754,6 +754,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    3754,
+/**/
     3753,
 /**/
     3752,
