diff --git a/library/SolverUtils/Filters/FilterHistoryPoints.cpp b/library/SolverUtils/Filters/FilterHistoryPoints.cpp
index 0ff96a93fbe10c58f03c7743de0845486c75c061..dfa220cddf4b74a410c3f0b35b290dadaff9f685 100644
--- a/library/SolverUtils/Filters/FilterHistoryPoints.cpp
+++ b/library/SolverUtils/Filters/FilterHistoryPoints.cpp
@@ -368,7 +368,17 @@ void FilterHistoryPoints::v_Initialise(
         }
 
         // Open output stream
-        m_outputStream.open(m_outputFile.c_str());
+        bool adaptive;
+        m_session->MatchSolverInfo("Driver", "Adaptive",
+                                    adaptive, false);
+        if (adaptive)
+        {
+            m_outputStream.open(m_outputFile.c_str(), ofstream::app);
+        }
+        else
+        {
+            m_outputStream.open(m_outputFile.c_str());
+        }
         m_outputStream << "# History data for variables (:";
 
         for (i = 0; i < pFields.num_elements(); ++i)