diff --git a/src/CommandLine/Parser.cs b/src/CommandLine/Parser.cs
index a1c5cbdf..2d288f9a 100644
--- a/src/CommandLine/Parser.cs
+++ b/src/CommandLine/Parser.cs
@@ -183,7 +183,7 @@ private static Result<IEnumerable<Token>, Error> Tokenize(
                     settings.EnableDashDash)(arguments, optionSpecs);
         }
 
-        private static ParserResult<T> MakeParserResult<T>(ParserResult<T> parserResult, ParserSettings settings)
+        private /*static*/ ParserResult<T> MakeParserResult<T>(ParserResult<T> parserResult, ParserSettings settings)
         {
             return DisplayHelp(
                 parserResult,
@@ -191,12 +191,12 @@ private static ParserResult<T> MakeParserResult<T>(ParserResult<T> parserResult,
                 settings.MaximumDisplayWidth);
         }
 
-        private static ParserResult<T> DisplayHelp<T>(ParserResult<T> parserResult, TextWriter helpWriter, int maxDisplayWidth)
+        private /*static*/ ParserResult<T> DisplayHelp<T>(ParserResult<T> parserResult, TextWriter helpWriter, int maxDisplayWidth)
         {
             parserResult.WithNotParsed(
                 errors =>
                     Maybe.Merge(errors.ToMaybe(), helpWriter.ToMaybe())
-                        .Do((_, writer) => writer.Write(HelpText.AutoBuild(parserResult, maxDisplayWidth)))
+                        .Do((_, writer) => writer.Write(HelpText.AutoBuild(parserResult, settings, maxDisplayWidth)))
                 );
 
             return parserResult;
diff --git a/src/CommandLine/ParserSettings.cs b/src/CommandLine/ParserSettings.cs
index 93962566..b589d1ad 100644
--- a/src/CommandLine/ParserSettings.cs
+++ b/src/CommandLine/ParserSettings.cs
@@ -173,5 +173,10 @@ private void Dispose(bool disposing)
                 disposed = true;
             }
         }
+        /// <summary>
+        /// This flag indicate if there is a line break between each option display in help
+        /// </summary>
+        public bool AdditionalNewLineAfterOption { get; set; } = true;
+        
     }
 }
diff --git a/src/CommandLine/Text/HelpText.cs b/src/CommandLine/Text/HelpText.cs
index eaa6ade5..f78b2934 100644
--- a/src/CommandLine/Text/HelpText.cs
+++ b/src/CommandLine/Text/HelpText.cs
@@ -202,11 +202,13 @@ public SentenceBuilder SentenceBuilder
         /// <param name='onExample'>A delegate used to customize <see cref="CommandLine.Text.Example"/> model used to render text block of usage examples.</param>
         /// <param name="verbsIndex">If true the output style is consistent with verb commands (no dashes), otherwise it outputs options.</param>
         /// <param name="maxDisplayWidth">The maximum width of the display.</param>
+        /// <param name="parserSettings">Settings of the parser. Some settings are for help display.</param>
         /// <remarks>The parameter <paramref name="verbsIndex"/> is not ontly a metter of formatting, it controls whether to handle verbs or options.</remarks>
         public static HelpText AutoBuild<T>(
             ParserResult<T> parserResult,
             Func<HelpText, HelpText> onError,
             Func<Example, Example> onExample,
+            ParserSettings parserSettings,
             bool verbsIndex = false,
             int maxDisplayWidth = DefaultMaximumLength)
         {
@@ -214,7 +216,7 @@ public static HelpText AutoBuild<T>(
             {
                 Heading = HeadingInfo.Empty,
                 Copyright = CopyrightInfo.Empty,
-                AdditionalNewLineAfterOption = true,
+                AdditionalNewLineAfterOption = parserSettings.AdditionalNewLineAfterOption,
                 AddDashesToOption = !verbsIndex,
                 MaximumDisplayWidth = maxDisplayWidth
             };
@@ -276,12 +278,13 @@ public static HelpText AutoBuild<T>(
         /// </summary>
         /// <param name='parserResult'>The <see cref="CommandLine.ParserResult{T}"/> containing the instance that collected command line arguments parsed with <see cref="CommandLine.Parser"/> class.</param>
         /// <param name="maxDisplayWidth">The maximum width of the display.</param>
+        /// <param name="parserSettings">Settings of the parser. Some settings are for help display.</param>
         /// <returns>
         /// An instance of <see cref="CommandLine.Text.HelpText"/> class.
         /// </returns>
         /// <remarks>This feature is meant to be invoked automatically by the parser, setting the HelpWriter property
         /// of <see cref="CommandLine.ParserSettings"/>.</remarks>
-        public static HelpText AutoBuild<T>(ParserResult<T> parserResult, int maxDisplayWidth = DefaultMaximumLength)
+        public static HelpText AutoBuild<T>(ParserResult<T> parserResult, ParserSettings parserSettings, int maxDisplayWidth = DefaultMaximumLength)
         {
             if (parserResult.Tag != ParserResultType.NotParsed)
                 throw new ArgumentException("Excepting NotParsed<T> type.", "parserResult");
@@ -292,13 +295,13 @@ public static HelpText AutoBuild<T>(ParserResult<T> parserResult, int maxDisplay
                 return new HelpText(HeadingInfo.Default){MaximumDisplayWidth = maxDisplayWidth }.AddPreOptionsLine(Environment.NewLine);
 
             if (!errors.Any(e => e.Tag == ErrorType.HelpVerbRequestedError))
-                return AutoBuild(parserResult, current => DefaultParsingErrorsHandler(parserResult, current), e => e, maxDisplayWidth: maxDisplayWidth);
+                return AutoBuild(parserResult, current => DefaultParsingErrorsHandler(parserResult, current), e => e, maxDisplayWidth: maxDisplayWidth, parserSettings:parserSettings);
 
             var err = errors.OfType<HelpVerbRequestedError>().Single();
             var pr = new NotParsed<object>(TypeInfo.Create(err.Type), Enumerable.Empty<Error>());
             return err.Matched
-                ? AutoBuild(pr, current => DefaultParsingErrorsHandler(pr, current), e => e, maxDisplayWidth: maxDisplayWidth)
-                : AutoBuild(parserResult, current => DefaultParsingErrorsHandler(parserResult, current), e => e, true, maxDisplayWidth);
+                ? AutoBuild(pr, current => DefaultParsingErrorsHandler(pr, current), e => e, maxDisplayWidth: maxDisplayWidth, parserSettings: parserSettings)
+                : AutoBuild(parserResult, current => DefaultParsingErrorsHandler(parserResult, current), e => e, parserSettings, true, maxDisplayWidth);
         }
 
         /// <summary>
diff --git a/tests/CommandLine.Tests/Unit/Text/HelpTextTests.cs b/tests/CommandLine.Tests/Unit/Text/HelpTextTests.cs
index 90ca41b5..bf4c00d2 100644
--- a/tests/CommandLine.Tests/Unit/Text/HelpTextTests.cs
+++ b/tests/CommandLine.Tests/Unit/Text/HelpTextTests.cs
@@ -315,7 +315,7 @@ public void Invoke_AutoBuild_for_Options_returns_appropriate_formatted_text()
                     });
 
             // Exercize system
-            var helpText = HelpText.AutoBuild(fakeResult);
+            var helpText = HelpText.AutoBuild(fakeResult, new ParserSettings());
 
             // Verify outcome
             var lines = helpText.ToString().ToNotEmptyLines().TrimStringArray();
@@ -350,7 +350,7 @@ public void Invoke_AutoBuild_for_Verbs_with_specific_verb_returns_appropriate_fo
                     });
 
             // Exercize system
-            var helpText = HelpText.AutoBuild(fakeResult);
+            var helpText = HelpText.AutoBuild(fakeResult, new ParserSettings());
 
             // Verify outcome
             var lines = helpText.ToString().ToNotEmptyLines().TrimStringArray();
@@ -383,7 +383,7 @@ public void Invoke_AutoBuild_for_Verbs_with_specific_verb_returns_appropriate_fo
                     });
 
             // Exercize system
-            var helpText = HelpText.AutoBuild(fakeResult, maxDisplayWidth: 100);            
+            var helpText = HelpText.AutoBuild(fakeResult, new ParserSettings(), maxDisplayWidth: 100);            
 
             // Verify outcome
             var lines = helpText.ToString().ToNotEmptyLines().TrimStringArray();
@@ -415,7 +415,7 @@ public void Invoke_AutoBuild_for_Verbs_with_unknown_verb_returns_appropriate_for
                 new Error[] { new HelpVerbRequestedError(null, null, false) });
 
             // Exercize system
-            var helpText = HelpText.AutoBuild(fakeResult);
+            var helpText = HelpText.AutoBuild(fakeResult, new ParserSettings());
 
             // Verify outcome
             var lines = helpText.ToString().ToNotEmptyLines().TrimStringArray();
@@ -501,7 +501,7 @@ public void Invoke_AutoBuild_for_Options_with_Usage_returns_appropriate_formatte
                     });
 
             // Exercize system
-            var helpText = HelpText.AutoBuild(fakeResult);
+            var helpText = HelpText.AutoBuild(fakeResult, new ParserSettings());
 
             // Verify outcome
             var text = helpText.ToString();            
@@ -554,7 +554,7 @@ public void Default_set_to_sequence_should_be_properly_printed()
 
             // Exercize system
             handlers.ChangeCulture();
-            var helpText = HelpText.AutoBuild(fakeResult);
+            var helpText = HelpText.AutoBuild(fakeResult, new ParserSettings());
             handlers.ResetCulture();
 
             // Verify outcome
@@ -585,7 +585,7 @@ public void AutoBuild_when_no_assembly_attributes()
                 {
                     onErrorCalled = true;
                     return ht;
-                }, ex => ex);
+                }, ex => ex, new ParserSettings());
                 
                 onErrorCalled.Should().BeTrue();
                 actualResult.Copyright.Should().Be(expectedCopyright);
@@ -617,7 +617,7 @@ public void AutoBuild_with_assembly_title_and_version_attributes_only()
                 {
                     onErrorCalled = true;
                     return ht;
-                }, ex => ex);
+                }, ex => ex, new ParserSettings());
 
                 onErrorCalled.Should().BeTrue();
                 actualResult.Heading.Should().Be(string.Format("{0} {1}", expectedTitle, expectedVersion));
@@ -648,7 +648,7 @@ public void AutoBuild_with_assembly_company_attribute_only()
                 {
                     onErrorCalled = true;
                     return ht;
-                }, ex => ex);
+                }, ex => ex, new ParserSettings());
 
                 onErrorCalled.Should().BeFalse(); // Other attributes have fallback logic
                 actualResult.Copyright.Should().Be(string.Format("Copyright (C) {0} {1}", DateTime.Now.Year, expectedCompany));