diff --git a/memory_leak_f/memory_leak_f.vfproj b/memory_leak_f/memory_leak_f.vfproj
index 0ac2ec8f..511f6165 100644
--- a/memory_leak_f/memory_leak_f.vfproj
+++ b/memory_leak_f/memory_leak_f.vfproj
@@ -14,8 +14,8 @@
-
-
+
+
diff --git a/memory_leak_f/test_memory_leak.f90 b/memory_leak_f/test_memory_leak.f90
index 24497c65..14b4c28c 100644
--- a/memory_leak_f/test_memory_leak.f90
+++ b/memory_leak_f/test_memory_leak.f90
@@ -21,6 +21,8 @@ OPEN(UNIT=13, file='test_memory_leak.log', STATUS='UNKNOWN', IOSTAT = ios)
IF (ios.NE.0) STOP 'Could not open log file'
id1 = new_phreeqc_id()
+!!nerr = DestroyIPhreeqc(id1)
+!!STOP
nerr = SetSelectedOutputFileOn(id1,.TRUE.)
nerr = SetOutputFileOn(id1,.TRUE.)
diff --git a/src/ErrorReporter.hxx b/src/ErrorReporter.hxx
index 77124f84..38ac0061 100644
--- a/src/ErrorReporter.hxx
+++ b/src/ErrorReporter.hxx
@@ -10,8 +10,15 @@ class IErrorReporter
public:
virtual size_t AddError(const char* error_msg) = 0;
virtual void Clear(void) = 0;
+ virtual ~IErrorReporter(void) = 0;
};
+// Note: this is req'd in order for subclass dtors to be called
+//
+IErrorReporter::~IErrorReporter(void)
+{
+}
+
template
class CErrorReporter : public IErrorReporter
{