diff --git a/dumux/io/vtkfunction.hh b/dumux/io/vtkfunction.hh
index e5fc35902cee6cddee33c2f50c0ed522da48fd52..9a71e100dc7ba3c6fe0ba8356e60e77fc8607c8a 100644
--- a/dumux/io/vtkfunction.hh
+++ b/dumux/io/vtkfunction.hh
@@ -260,6 +260,8 @@ public:
             DUNE_THROW(Dune::NotImplemented, "Only element or vertex quantities allowed.");
     }
 
+    virtual ~Field() {}
+
     //! return the name of this field
     virtual std::string name () const { return field_->name(); }
 
diff --git a/dumux/nonlinear/newtonsolver.hh b/dumux/nonlinear/newtonsolver.hh
index f2310aaa0e5d422672d4188745623ddd356f8d10..2045279df5b7b77715232884a8f5e690dae5acb7 100644
--- a/dumux/nonlinear/newtonsolver.hh
+++ b/dumux/nonlinear/newtonsolver.hh
@@ -110,6 +110,8 @@ public:
             partialReassembler_ = std::make_unique<Reassembler>(*assembler_);
     }
 
+    virtual ~NewtonSolver() {}
+
     //! the communicator for parallel runs
     const Communication& comm() const
     { return comm_; }