diff --git a/src/View/RunSolver/Window.py b/src/View/RunSolver/Window.py
index 3cf453c20656e0004f382a89dac3e1d765d1dd87..74190304102e1188c70bf703a1cde667614d388b 100644
--- a/src/View/RunSolver/Window.py
+++ b/src/View/RunSolver/Window.py
@@ -74,10 +74,16 @@ class SelectSolverWindow(PamhyrDialog):
 
         self.setup_combobox()
         self.setup_connections()
+        self.select_last_solver()
 
     def setup_combobox(self):
         solvers = self._config.solvers
-        solvers_name = list(map(lambda s: s.name + f" - ({s._type})", solvers))
+        solvers_name = list(
+            map(
+                self._format_solver_name,
+                solvers
+            )
+        )
 
         self.combobox_add_items("comboBox", solvers_name)
 
@@ -86,6 +92,26 @@ class SelectSolverWindow(PamhyrDialog):
         self.find(QPushButton, "pushButton_cancel")\
             .clicked.connect(self.reject)
 
+    def select_last_solver(self):
+        solvers = self._config.solvers
+        last = self._config.last_solver_name
+
+        solver = list(
+            filter(
+                lambda s: s.name == last,
+                solvers
+            )
+        )
+
+        if len(solver) != 0:
+            self.set_combobox_text(
+                "comboBox",
+                self._format_solver_name(solver[0])
+            )
+
+    def _format_solver_name(self, solver):
+        return f"{solver.name} - ({solver._type})"
+
     @property
     def solver(self):
         return self._solver
@@ -94,6 +120,8 @@ class SelectSolverWindow(PamhyrDialog):
         solver_name = self.get_combobox_text("comboBox")
         solver_name = solver_name.rsplit(" - ", 1)[0]
 
+        self._config.update_last_solver_used(solver_name)
+
         self._solver = next(
             filter(
                 lambda s: s.name == solver_name,
diff --git a/src/config.py b/src/config.py
index c8613a42323b307d0a0395d698644ca0b9d3b905..bce76549374985cec13255cfb33dbc4bacaf24dd 100644
--- a/src/config.py
+++ b/src/config.py
@@ -35,7 +35,7 @@ logger = logging.getLogger()
 
 class Config(SQL):
     def __init__(self):
-        self._version = '0.0.3'
+        self._version = '0.0.4'
         self.filename = Config.filename()
         self.set_default_value()
 
@@ -113,11 +113,15 @@ class Config(SQL):
                         ''
                       )
                     """)
+
                 if int(release) < 3:
                     self.execute(f"INSERT INTO data VALUES ('last_study', '')")
                     self.execute(
                         f"INSERT INTO data VALUES ('close_correctly', 'True')")
 
+                if int(release) < 4:
+                    self.execute(f"INSERT INTO data VALUES ('last_solver_name', '')")
+
             self.commit()
 
     def _load_solver(self):
@@ -195,6 +199,12 @@ class Config(SQL):
         v = self.execute("SELECT value FROM data WHERE key='close_correctly'")
         self.close_correctly = v[0] == "True"
 
+        # Last Solver
+        v = self.execute("SELECT value FROM data WHERE key='last_solver_name'")
+        self.last_solver_name = v[0]
+
+        self.last_study = v[0]
+
         # Debug
         v = self.execute("SELECT value FROM data WHERE key='debug'")
         self.debug = v[0] == "True"
@@ -250,6 +260,7 @@ class Config(SQL):
             "last_study": self.last_study,
             "close_correctly": self.close_correctly,
             "debug": self.debug,
+            "last_solver_name": self.last_solver_name,
         }
 
         for key in data:
@@ -306,6 +317,9 @@ class Config(SQL):
         self.last_study = ""
         self.close_correctly = False
 
+        # Last Solver
+        self.last_solver_name = ""
+
         # Debug
         self.debug = False
 
@@ -332,6 +346,14 @@ class Config(SQL):
         )
         self.commit()
 
+    def update_last_solver_used(self, solver_name):
+        self.last_solver_name = solver_name
+        self.execute(
+            "UPDATE data SET " +
+            f"value='{self._db_format(self.last_solver_name)}' " +
+            "WHERE key='last_solver_name'"
+        )
+
     @classmethod
     def filename(cls):
         file = ""