--- a/lib/source_iface.h
+++ b/lib/source_iface.h
@@ -397,6 +397,11 @@
    * \param time_spec the new time
    */
   virtual void set_time_unknown_pps(const ::osmosdr::time_spec_t &time_spec) { }
+
+  /*!
+   * Let's just use the default virtual destructor.
+   */
+  virtual ~source_iface() = default;
 };
 
 #endif // OSMOSDR_SOURCE_IFACE_H
--- a/lib/sink_iface.h
+++ b/lib/sink_iface.h
@@ -364,6 +364,11 @@
    * \param time_spec the new time
    */
   virtual void set_time_unknown_pps(const ::osmosdr::time_spec_t &time_spec) { }
+
+  /*!
+   * Let's just use the default virtual destructor.
+   */
+  virtual ~sink_iface() = default;
 };
 
 #endif // OSMOSDR_SINK_IFACE_H
