diff --git a/ChangeLog b/ChangeLog
index f79fc69..9a2cabc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
 2021-06-29  Alexei Podtelezhnikov  <apodtele@gmail.com>
 
+	[raster] Do not skip the second pass without dropout control.
+
+	The second pass also fixes horizontal lines through the pixel centers.
+
+	* src/raster/ftraster.c (black_TWorker): Do not use `second_pass'.
+	(Render_Glyph): Skip the second pass only with the appropriate flag.
+
+2021-06-29  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
 	[raster] Handle sub-band stack locally.
 
 	* src/raster/ftraster.c (black_TWorker): Move `band_stack' from here..
diff --git a/src/raster/ftraster.c b/src/raster/ftraster.c
index 9b742f5..74c2908 100644
--- a/src/raster/ftraster.c
+++ b/src/raster/ftraster.c
@@ -483,6 +483,8 @@
 
     Int         numTurns;           /* number of Y-turns in outline        */
 
+    Byte        dropOutControl;     /* current drop_out control method     */
+
     UShort      bWidth;             /* target bitmap width                 */
     PByte       bOrigin;            /* target bitmap bottom-left origin    */
     PByte       bLine;              /* target bitmap current line          */
@@ -514,13 +516,6 @@
     Function_Sweep_Span*  Proc_Sweep_Drop;
     Function_Sweep_Step*  Proc_Sweep_Step;
 
-    Byte        dropOutControl;     /* current drop_out control method     */
-
-    Bool        second_pass;        /* indicates whether a horizontal pass */
-                                    /* should be performed to control      */
-                                    /* drop-out accurately when calling    */
-                                    /* Render_Glyph.                       */
-
   };
 
 
@@ -3116,9 +3111,6 @@
         ras.dropOutControl += 1;
     }
 
-    ras.second_pass = (Bool)( !( ras.outline.flags      &
-                                 FT_OUTLINE_SINGLE_PASS ) );
-
     /* Vertical Sweep */
     FT_TRACE7(( "Vertical pass (ftraster)\n" ));
 
@@ -3138,7 +3130,7 @@
       return error;
 
     /* Horizontal Sweep */
-    if ( ras.second_pass && ras.dropOutControl != 2 )
+    if ( !( ras.outline.flags & FT_OUTLINE_SINGLE_PASS ) )
     {
       FT_TRACE7(( "Horizontal pass (ftraster)\n" ));
 
