diff --git a/library/SolverUtils/Filters/FilterHistoryPoints.cpp b/library/SolverUtils/Filters/FilterHistoryPoints.cpp
index 5d1c28818f39ea44a5522ee51eca57bb51df3736..daeaebe9cc3371afbfd8f7ff73327ba69c843487 100644
--- a/library/SolverUtils/Filters/FilterHistoryPoints.cpp
+++ b/library/SolverUtils/Filters/FilterHistoryPoints.cpp
@@ -324,7 +324,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)