diff --git a/libvideoeditor/osal/inc/M4OSA_Time.h b/libvideoeditor/osal/inc/M4OSA_Time.h
index 984c243..7545541 100755
--- a/libvideoeditor/osal/inc/M4OSA_Time.h
+++ b/libvideoeditor/osal/inc/M4OSA_Time.h
@@ -33,7 +33,7 @@
 #include "M4OSA_Types.h"
 
 
-typedef M4OSA_Int64   M4OSA_Time;
+typedef signed long long  M4OSA_Time;
 
 
 /** This macro sets the unknown time value */
diff --git a/libvideoeditor/vss/src/M4xVSS_internal.c b/libvideoeditor/vss/src/M4xVSS_internal.c
index b56d524..192e1ba 100755
--- a/libvideoeditor/vss/src/M4xVSS_internal.c
+++ b/libvideoeditor/vss/src/M4xVSS_internal.c
@@ -2417,7 +2417,6 @@
     {
         M4OSA_TRACE1_1("SPS png: error when converting from RGB to YUV: 0x%x\n", err);
     }
-
     M4OSA_TRACE3_0("M4xVSS_internalConvertARGB888toYUV420_FrammingEffect:  Leaving ");
     return err;
 }
@@ -3271,7 +3270,6 @@
                 {
                     if(framingCtx->aFramingCtx != M4OSA_NULL)
                     {
-                        if(pSettings->Effects[i].xVSS.pFramingBuffer == M4OSA_NULL)
                         {
                             if(framingCtx->aFramingCtx->FramingRgb != M4OSA_NULL)
                             {
@@ -3301,17 +3299,14 @@
                     }
                     if(framingCtx->aFramingCtx_last != M4OSA_NULL)
                     {
-                        if(pSettings->Effects[i].xVSS.pFramingBuffer == M4OSA_NULL)
+                        if(framingCtx->aFramingCtx_last->FramingRgb != M4OSA_NULL)
                         {
-                            if(framingCtx->aFramingCtx_last->FramingRgb != M4OSA_NULL)
-                            {
-                                M4OSA_free((M4OSA_MemAddr32)framingCtx->aFramingCtx_last->\
-                                    FramingRgb->pac_data);
-                                framingCtx->aFramingCtx_last->FramingRgb->pac_data = M4OSA_NULL;
-                                M4OSA_free((M4OSA_MemAddr32)framingCtx->aFramingCtx_last->\
-                                    FramingRgb);
-                                framingCtx->aFramingCtx_last->FramingRgb = M4OSA_NULL;
-                            }
+                            M4OSA_free((M4OSA_MemAddr32)framingCtx->aFramingCtx_last->\
+                                FramingRgb->pac_data);
+                            framingCtx->aFramingCtx_last->FramingRgb->pac_data = M4OSA_NULL;
+                            M4OSA_free((M4OSA_MemAddr32)framingCtx->aFramingCtx_last->\
+                                FramingRgb);
+                            framingCtx->aFramingCtx_last->FramingRgb = M4OSA_NULL;
                         }
                         if(framingCtx->aFramingCtx_last->FramingYuv != M4OSA_NULL)
                         {
@@ -3358,15 +3353,12 @@
                     if(framingCtx != M4OSA_NULL) /* Bugfix 1.2.0: crash, trying to free non
                     existant pointer */
                     {
-                        if(pSettings->Effects[i].xVSS.pFramingBuffer == M4OSA_NULL)
+                        if(framingCtx->FramingRgb != M4OSA_NULL)
                         {
-                            if(framingCtx->FramingRgb != M4OSA_NULL)
-                            {
-                                M4OSA_free((M4OSA_MemAddr32)framingCtx->FramingRgb->pac_data);
-                                framingCtx->FramingRgb->pac_data = M4OSA_NULL;
-                                M4OSA_free((M4OSA_MemAddr32)framingCtx->FramingRgb);
-                                framingCtx->FramingRgb = M4OSA_NULL;
-                            }
+                            M4OSA_free((M4OSA_MemAddr32)framingCtx->FramingRgb->pac_data);
+                            framingCtx->FramingRgb->pac_data = M4OSA_NULL;
+                            M4OSA_free((M4OSA_MemAddr32)framingCtx->FramingRgb);
+                            framingCtx->FramingRgb = M4OSA_NULL;
                         }
                         if(framingCtx->FramingYuv != M4OSA_NULL)
                         {
