Index: branches/SHM-dev/source/Lib/TLibEncoder/TEncGOP.cpp
===================================================================
--- branches/SHM-dev/source/Lib/TLibEncoder/TEncGOP.cpp	(revision 1319)
+++ branches/SHM-dev/source/Lib/TLibEncoder/TEncGOP.cpp	(revision 1321)
@@ -452,5 +452,5 @@
   xWriteSEISeparately(NAL_UNIT_PREFIX_SEI, localMessages, accessUnit, itNalu, temporalId, sps);
 #endif
-  xClearSEIs(currentMessages, !testWrite);
+  xClearSEIs(localMessages, !testWrite);
 
   if (!testWrite)
@@ -504,4 +504,5 @@
   xWriteSEISeparately(NAL_UNIT_SUFFIX_SEI, seiMessages, accessUnit, pos, temporalId, sps);
 #endif
+  deleteSEIs(seiMessages);
 }
 
@@ -1707,6 +1708,5 @@
       pcSlice->setMFMEnabledFlag(false);
     }
-#endif //SVC_EXTENSION
-
+#endif //SVC_EXTENSION    
     pcSlice->setLastIDR(m_iLastIDR);
     pcSlice->setSliceIdx(0);
@@ -2575,5 +2575,5 @@
 
       // create prefix SEI messages at the beginning of the sequence
-      leadingSeiMessages.clear();
+      assert(leadingSeiMessages.empty());
       xCreateIRAPLeadingSEIMessages(leadingSeiMessages, pcSlice->getSPS(), pcSlice->getPPS());
 
@@ -2794,5 +2794,4 @@
     xWriteTrailingSEIMessages(trailingSeiMessages, accessUnit, pcSlice->getTLayer(), pcSlice->getSPS());
 #endif
-    trailingSeiMessages.clear();
 
     m_pcCfg->setEncodedFlag(iGOPid, true);
@@ -2850,11 +2849,7 @@
 #if O0164_MULTI_LAYER_HRD
     xWriteLeadingSEIMessages(leadingSeiMessages, duInfoSeiMessages, accessUnit, pcSlice->getTLayer(), pcSlice->getVPS(), pcSlice->getSPS(), duData);
+    xWriteDuSEIMessages(duInfoSeiMessages, accessUnit, pcSlice->getTLayer(), pcSlice->getVPS(), pcSlice->getSPS(), duData);
 #else
     xWriteLeadingSEIMessages(leadingSeiMessages, duInfoSeiMessages, accessUnit, pcSlice->getTLayer(), pcSlice->getSPS(), duData);
-#endif
-    leadingSeiMessages.clear();
-#if O0164_MULTI_LAYER_HRD
-    xWriteDuSEIMessages(duInfoSeiMessages, accessUnit, pcSlice->getTLayer(), pcSlice->getVPS(), pcSlice->getSPS(), duData);
-#else
     xWriteDuSEIMessages(duInfoSeiMessages, accessUnit, pcSlice->getTLayer(), pcSlice->getSPS(), duData);
 #endif
