diff --git a/samples/src/PSVIWriter/PSVIWriter.cpp b/samples/src/PSVIWriter/PSVIWriter.cpp
index 83ae163a2b7cda0e9e48e734e925c7c58df6d7d8..dd9038fb70fca3ba5e59b53f86150928c90bea3f 100644
--- a/samples/src/PSVIWriter/PSVIWriter.cpp
+++ b/samples/src/PSVIWriter/PSVIWriter.cpp
@@ -327,6 +327,7 @@ int main(int argC, char* argV[])
     //  Delete the parser itself.  Must be done prior to calling Terminate, below.
     //
     delete parser;
+    delete advancedHandler;
     delete handler;
     delete psviFormatter;
     delete errorFormatter;
diff --git a/samples/src/PSVIWriter/PSVIWriterHandlers.cpp b/samples/src/PSVIWriter/PSVIWriterHandlers.cpp
index 075d53c970f801316039b373dbc168971e438d06..9bddfee456b2f502c9489ab8bf1f0d881e4ec8be 100644
--- a/samples/src/PSVIWriter/PSVIWriterHandlers.cpp
+++ b/samples/src/PSVIWriter/PSVIWriterHandlers.cpp
@@ -1930,10 +1930,9 @@ void  PSVIWriterHandlers::processActualValue(PSVIItem* item)
         writeClose(gActualValue);
         decIndent();
         writeString(gCommentEnd);
-    }
-
-    delete obj;
-
+   
+    	delete obj;
+ 	}    	
 }
 
 void PSVIAdvancedHandler::XMLDecl(const XMLCh* const versionStr, const XMLCh* const encodingStr, const XMLCh* const standaloneStr, const XMLCh* const autoEncodingStr)