diff --git a/interpreter/cling/lib/Interpreter/ASTNodeEraser.cpp b/interpreter/cling/lib/Interpreter/ASTNodeEraser.cpp
index b01b07978afd9f5d3c02a5fea620952bff84b594..4308a9ea5d409bf9aeca06b76707611a8ce2b567 100644
--- a/interpreter/cling/lib/Interpreter/ASTNodeEraser.cpp
+++ b/interpreter/cling/lib/Interpreter/ASTNodeEraser.cpp
@@ -791,6 +791,7 @@ namespace cling {
 #endif
 
     m_Sema->getDiagnostics().Reset();
+    m_Sema->getDiagnostics().getClient()->clear();
 
     // Cleanup the module from unused global values.
     //llvm::ModulePass* globalDCE = llvm::createGlobalDCEPass();
diff --git a/interpreter/cling/test/CodeGeneration/VTables.C b/interpreter/cling/test/CodeGeneration/VTables.C
index 0189947db2f22310bdcf4849dd2f5100acd743df..8184bb0757930472d69ead9393c84891ba23a02c 100644
--- a/interpreter/cling/test/CodeGeneration/VTables.C
+++ b/interpreter/cling/test/CodeGeneration/VTables.C
@@ -1,4 +1,4 @@
-// RUN: cat %s | %cling | FileCheck %s
+// RUN: cat %s | %cling -Xclang -verify | FileCheck %s
 // XFAIL:*
 
 // Test whether the interpreter is able to generate properly the symbols