diff --git a/bfps/cpp/full_code/direct_numerical_simulation.hpp b/bfps/cpp/full_code/direct_numerical_simulation.hpp
index 42ec84d58f06032a31f0012072a3c5a9000caef7..1a56855868d919adfae104d4db5da592b6a2b129 100644
--- a/bfps/cpp/full_code/direct_numerical_simulation.hpp
+++ b/bfps/cpp/full_code/direct_numerical_simulation.hpp
@@ -41,7 +41,7 @@ class direct_numerical_simulation
         direct_numerical_simulation(
                 const MPI_Comm COMMUNICATOR,
                 const std::string &simulation_name);
-        ~direct_numerical_simulation(){}
+        virtual ~direct_numerical_simulation(){}
 
         virtual int initialize(void) = 0;
         virtual int main_loop(void) = 0;