diff --git a/modules/conop/src/compound_lib_base.hh b/modules/conop/src/compound_lib_base.hh
index fdcee50203bbbdb99162a5be57fbfe65964f2473..350307eb52eb441aff4c4bac875a4344bbf5a319 100644
--- a/modules/conop/src/compound_lib_base.hh
+++ b/modules/conop/src/compound_lib_base.hh
@@ -9,6 +9,8 @@ class CompoundLibBase;
 typedef boost::shared_ptr<CompoundLibBase> CompoundLibBasePtr;
 
 class DLLEXPORT_OST_CONOP CompoundLibBase {
+public:
+  virtual ~CompoundLibBase() {}
   virtual CompoundPtr FindCompound(const String& id, 
                                    Compound::Dialect dialect) const = 0;
 };
diff --git a/modules/conop/src/processor.hh b/modules/conop/src/processor.hh
index 29acec1914419c28ba2f2424db657df75b2a2262..6e15fc4797f11541f879b2e0690be4049fd182e6 100644
--- a/modules/conop/src/processor.hh
+++ b/modules/conop/src/processor.hh
@@ -46,6 +46,7 @@ class DLLEXPORT_OST_CONOP Processor {
 public:
   DiagnosticsPtr Process(mol::EntityHandle ent, bool log_diags=true) const;
   virtual ProcessorPtr Copy() const = 0;
+  virtual ~Processor() {}
 protected:
   virtual void DoProcess(DiagnosticsPtr diags, 
                          mol::EntityHandle ent) const = 0;