diff --git a/RawVideoRTPSource_sav.cpp b/RawVideoRTPSource.cpp
index e584c43..88bdb4d 100644
--- a/RawVideoRTPSource_sav.cpp
+++ b/RawVideoRTPSource.cpp
@@ -71,6 +71,7 @@ RawVideoRTPSource
 
 RawVideoRTPSource::~RawVideoRTPSource() {
   delete[] fLineHeaders;
+  fLineHeaders = NULL;
 }
 
 u_int16_t RawVideoRTPSource::currentLineNumber() const {
@@ -119,7 +120,8 @@ Boolean RawVideoRTPSource
   // We now know how many lines are contained in this payload.  Allocate and fill in "fLineHeaders":
   fNumLines = numLines; // ASSERT: >= 1
   fNextLine = 0;
-  delete[] fLineHeaders; fLineHeaders = new LineHeader[fNumLines];
+  delete[] fLineHeaders;
+  fLineHeaders = new LineHeader[fNumLines];
   unsigned totalLength = 0;
   for (unsigned i = 0; i < fNumLines; ++i) {
     fLineHeaders[i].length = (lineHeaderStart[0]<<8) + lineHeaderStart[1];
@@ -133,6 +135,7 @@ Boolean RawVideoRTPSource
   if (totalLength > packetSize) {
     fNumLines = 0;
     delete[] fLineHeaders;
+    fLineHeaders = NULL;
     return False;
   }
 
