diff --git a/src/opus_encoder.c b/src/opus_encoder.c
index 34e83473807d67bfb5126260133217d1db2c5fe4..e23a43f2c675fba57147fbec5bcccffef45bed40 100644
--- a/src/opus_encoder.c
+++ b/src/opus_encoder.c
@@ -1044,7 +1044,7 @@ static opus_int32 opus_encode_native_process(OpusEncoder *st, const opus_val16 *
                 AnalysisInfo *analysis_info, int is_silence,
 #endif
                 int redundancy, int celt_to_silk, int prefill, opus_int32 max_data_bytes,
-                int total_buffer, opus_int activity, opus_int32 equiv_rate, int to_celt);
+                opus_int activity, opus_int32 equiv_rate, int to_celt);
 
 opus_int32 opus_encode_native(OpusEncoder *st, const opus_val16 *pcm, int frame_size,
                 unsigned char *data, opus_int32 out_data_bytes, int lsb_depth,
@@ -1061,12 +1061,10 @@ opus_int32 opus_encode_native(OpusEncoder *st, const opus_val16 *pcm, int frame_
     int to_celt = 0;
     int voice_est; /* Probability of voice in Q7 */
     opus_int32 equiv_rate;
-    int delay_compensation;
     int frame_rate;
     opus_int32 max_rate; /* Max bitrate we're allowed to use */
     int curr_bandwidth;
     opus_int32 max_data_bytes; /* Max number of bytes we're allowed to use */
-    int total_buffer;
     opus_val16 stereo_width;
     const CELTMode *celt_mode;
 #ifndef DISABLE_FLOAT_API
@@ -1100,10 +1098,6 @@ opus_int32 opus_encode_native(OpusEncoder *st, const opus_val16 *pcm, int frame_
 
     silk_enc = (char*)st+st->silk_enc_offset;
     celt_enc = (CELTEncoder*)((char*)st+st->celt_enc_offset);
-    if (st->application == OPUS_APPLICATION_RESTRICTED_LOWDELAY)
-       delay_compensation = 0;
-    else
-       delay_compensation = st->delay_compensation;
 
     lsb_depth = IMIN(lsb_depth, st->lsb_depth);
 
@@ -1195,7 +1189,6 @@ opus_int32 opus_encode_native(OpusEncoder *st, const opus_val16 *pcm, int frame_
        stereo_width = compute_stereo_width(pcm, frame_size, st->Fs, &st->width_mem);
     else
        stereo_width = 0;
-    total_buffer = delay_compensation;
     st->bitrate_bps = user_bitrate_to_bitrate(st, frame_size, max_data_bytes);
 
     frame_rate = st->Fs/frame_size;
@@ -1651,7 +1644,7 @@ opus_int32 opus_encode_native(OpusEncoder *st, const opus_val16 *pcm, int frame_
           is_silence,
 #endif
                     frame_redundancy, celt_to_silk, prefill, bytes_per_frame,
-                    total_buffer, activity, equiv_rate, frame_to_celt
+                    activity, equiv_rate, frame_to_celt
               );
 
           if (tmp_len<0)
@@ -1686,7 +1679,7 @@ opus_int32 opus_encode_native(OpusEncoder *st, const opus_val16 *pcm, int frame_
     is_silence,
 #endif
                 redundancy, celt_to_silk, prefill, max_data_bytes,
-                total_buffer, activity, equiv_rate, to_celt
+                activity, equiv_rate, to_celt
           );
       RESTORE_STACK;
       return ret;
@@ -1703,7 +1696,7 @@ static opus_int32 opus_encode_native_process(OpusEncoder *st, const opus_val16 *
                 AnalysisInfo *analysis_info, int is_silence,
 #endif
                 int redundancy, int celt_to_silk, int prefill, opus_int32 max_data_bytes,
-                int total_buffer, opus_int activity, opus_int32 equiv_rate, int to_celt)
+                opus_int activity, opus_int32 equiv_rate, int to_celt)
 {
     void *silk_enc;
     CELTEncoder *celt_enc;
@@ -1723,13 +1716,21 @@ static opus_int32 opus_encode_native_process(OpusEncoder *st, const opus_val16 *
     int apply_padding;
     int frame_rate;
     int curr_bandwidth;
+    int delay_compensation;
+    int total_buffer;
     VARDECL(opus_val16, pcm_buf);
     VARDECL(opus_val16, tmp_prefill);
 
+    st->rangeFinal = 0;
     silk_enc = (char*)st+st->silk_enc_offset;
     celt_enc = (CELTEncoder*)((char*)st+st->celt_enc_offset);
     celt_encoder_ctl(celt_enc, CELT_GET_MODE(&celt_mode));
     curr_bandwidth = st->bandwidth;
+    if (st->application == OPUS_APPLICATION_RESTRICTED_LOWDELAY)
+       delay_compensation = 0;
+    else
+       delay_compensation = st->delay_compensation;
+    total_buffer = delay_compensation;
 
     frame_rate = st->Fs/frame_size;
     /* For the first frame at a new SILK bandwidth */