diff --git a/PSReadLine/Cmdlets.cs b/PSReadLine/Cmdlets.cs
index 39213bce..0010fa5f 100644
--- a/PSReadLine/Cmdlets.cs
+++ b/PSReadLine/Cmdlets.cs
@@ -159,7 +159,6 @@ public PSConsoleReadLineOptions(string hostName)
             ExtraPromptLineCount = DefaultExtraPromptLineCount;
             AddToHistoryHandler = DefaultAddToHistoryHandler;
             HistoryNoDuplicates = DefaultHistoryNoDuplicates;
-            MaximumHistoryCount = DefaultMaximumHistoryCount;
             MaximumKillRingCount = DefaultMaximumKillRingCount;
             HistorySearchCursorMovesToEnd = DefaultHistorySearchCursorMovesToEnd;
             ShowToolTips = DefaultShowToolTips;
@@ -172,6 +171,7 @@ public PSConsoleReadLineOptions(string hostName)
             HistorySaveStyle = DefaultHistorySaveStyle;
             AnsiEscapeTimeout = DefaultAnsiEscapeTimeout;
             PredictionSource = DefaultPredictionSource;
+            MaximumHistoryCount = 0;
 
             var historyFileName = hostName + "_history.txt";
             if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
diff --git a/PSReadLine/ReadLine.cs b/PSReadLine/ReadLine.cs
index b1fbbbea..25203956 100644
--- a/PSReadLine/ReadLine.cs
+++ b/PSReadLine/ReadLine.cs
@@ -757,10 +757,13 @@ private void DelayedOneTimeInitialize()
             // specifies a custom history save file, we don't want to try reading
             // from the default one.
 
-            var historyCountVar = _engineIntrinsics?.SessionState.PSVariable.Get("MaximumHistoryCount");
-            if (historyCountVar?.Value is int historyCountValue)
+            if (_options.MaximumHistoryCount == 0)
             {
-                _options.MaximumHistoryCount = historyCountValue;
+                // Initialize 'MaximumHistoryCount' if it's not defined in user's profile.
+                var historyCountVar = _engineIntrinsics?.SessionState.PSVariable.Get("MaximumHistoryCount");
+                _options.MaximumHistoryCount = (historyCountVar?.Value is int historyCountValue)
+                    ? historyCountValue
+                    : PSConsoleReadLineOptions.DefaultMaximumHistoryCount;
             }
 
             if (_options.PromptText == null &&