diff --git a/libcelt/entcode.h b/libcelt/entcode.h
index 4369dfe8e2bad9c97efda8a20c64ccbc42f1ecde..64fca13667d43218635dfcef17e131e6cf97c0e0 100644
--- a/libcelt/entcode.h
+++ b/libcelt/entcode.h
@@ -57,7 +57,6 @@ struct ec_byte_buffer{
   unsigned char *ptr;
   unsigned char *end_ptr;
   long           storage;
-  int            resizable;
 };
 
 /*Encoding functions.*/
diff --git a/libcelt/entdec.c b/libcelt/entdec.c
index ebfda563cd3647de63d16c9bb6e8dbec9571ff16..467750b77ad06f4a4d39ae206053312b27a05291 100644
--- a/libcelt/entdec.c
+++ b/libcelt/entdec.c
@@ -44,13 +44,6 @@ void ec_byte_readinit(ec_byte_buffer *_b,unsigned char *_buf,long _bytes){
   _b->end_ptr=_b->buf+_bytes-1;
 }
 
-int ec_byte_look1(ec_byte_buffer *_b){
-  ptrdiff_t endbyte;
-  endbyte=_b->ptr-_b->buf;
-  if(endbyte>=_b->storage)return -1;
-  else return _b->ptr[0];
-}
-
 unsigned char ec_byte_look_at_end(ec_byte_buffer *_b){
   if (_b->end_ptr < _b->buf)
   {
@@ -59,38 +52,10 @@ unsigned char ec_byte_look_at_end(ec_byte_buffer *_b){
   return *(_b->end_ptr--);
 }
 
-int ec_byte_look4(ec_byte_buffer *_b,ec_uint32 *_val){
-  ptrdiff_t endbyte;
-  endbyte=_b->ptr-_b->buf;
-  if(endbyte+4>_b->storage){
-    if(endbyte<_b->storage){
-      *_val=_b->ptr[0];
-      endbyte++;
-      if(endbyte<_b->storage){
-        *_val|=(ec_uint32)_b->ptr[1]<<8;
-        endbyte++;
-        if(endbyte<_b->storage)*_val|=(ec_uint32)_b->ptr[2]<<16;
-      }
-    }
-    return -1;
-  }
-  else{
-    *_val=_b->ptr[0];
-    *_val|=(ec_uint32)_b->ptr[1]<<8;
-    *_val|=(ec_uint32)_b->ptr[2]<<16;
-    *_val|=(ec_uint32)_b->ptr[3]<<24;
-  }
-  return 0;
-}
-
 void ec_byte_adv1(ec_byte_buffer *_b){
   _b->ptr++;
 }
 
-void ec_byte_adv4(ec_byte_buffer *_b){
-  _b->ptr+=4;
-}
-
 int ec_byte_read1(ec_byte_buffer *_b){
   ptrdiff_t endbyte;
   endbyte=_b->ptr-_b->buf;
@@ -98,29 +63,6 @@ int ec_byte_read1(ec_byte_buffer *_b){
   else return *(_b->ptr++);
 }
 
-int ec_byte_read4(ec_byte_buffer *_b,ec_uint32 *_val){
-  unsigned char *end;
-  end=_b->buf+_b->storage;
-  if(_b->ptr+4>end){
-    if(_b->ptr<end){
-      *_val=*(_b->ptr++);
-      if(_b->ptr<end){
-        *_val|=(ec_uint32)*(_b->ptr++)<<8;
-        if(_b->ptr<end)*_val|=(ec_uint32)*(_b->ptr++)<<16;
-      }
-    }
-    return -1;
-  }
-  else{
-    *_val=(*_b->ptr++);
-    *_val|=(ec_uint32)*(_b->ptr++)<<8;
-    *_val|=(ec_uint32)*(_b->ptr++)<<16;
-    *_val|=(ec_uint32)*(_b->ptr++)<<24;
-  }
-  return 0;
-}
-
-
 
 ec_uint32 ec_dec_bits(ec_dec *_this,int _ftb){
   ec_uint32 t;
diff --git a/libcelt/entenc.c b/libcelt/entenc.c
index 163c39f3b8369a320abfd4454af61a95a0be8d39..a1702e87d096b610b5817cd5dda57c1904e93bf8 100644
--- a/libcelt/entenc.c
+++ b/libcelt/entenc.c
@@ -44,20 +44,11 @@ void ec_byte_writeinit_buffer(ec_byte_buffer *_b, unsigned char *_buf, long _siz
   _b->ptr=_b->buf=_buf;
   _b->end_ptr=_b->buf+_size-1;
   _b->storage=_size;
-  _b->resizable=0;
 }
 
 void ec_byte_shrink(ec_byte_buffer *_b, long _size){
    _b->end_ptr=_b->buf+_size-1;
    _b->storage=_size;
-   _b->resizable=0;
-}
-
-void ec_byte_writeinit(ec_byte_buffer *_b){
-  _b->ptr=_b->buf=celt_alloc(EC_BUFFER_INCREMENT*sizeof(char));
-  _b->storage=EC_BUFFER_INCREMENT;
-  _b->end_ptr=_b->buf;
-  _b->resizable=1;
 }
 
 void ec_byte_writetrunc(ec_byte_buffer *_b,long _bytes){
@@ -68,13 +59,7 @@ void ec_byte_write1(ec_byte_buffer *_b,unsigned _value){
   ptrdiff_t endbyte;
   endbyte=_b->ptr-_b->buf;
   if(endbyte>=_b->storage){
-    if (_b->resizable){
-      _b->buf=celt_realloc(_b->buf,(_b->storage+EC_BUFFER_INCREMENT)*sizeof(char));
-      _b->storage+=EC_BUFFER_INCREMENT;
-      _b->ptr=_b->buf+endbyte;
-    } else {
-      celt_fatal("range encoder overflow\n");
-    }
+    celt_fatal("range encoder overflow\n");
   }
   *(_b->ptr++)=(unsigned char)_value;
 }
@@ -87,49 +72,6 @@ void ec_byte_write_at_end(ec_byte_buffer *_b,unsigned _value){
   *(_b->end_ptr--)=(unsigned char)_value;
 }
 
-void ec_byte_write4(ec_byte_buffer *_b,ec_uint32 _value){
-  ptrdiff_t endbyte;
-  endbyte=_b->ptr-_b->buf;
-  if(endbyte+4>_b->storage){
-    if (_b->resizable){
-      _b->buf=celt_realloc(_b->buf,(_b->storage+EC_BUFFER_INCREMENT)*sizeof(char));
-      _b->storage+=EC_BUFFER_INCREMENT;
-      _b->ptr=_b->buf+endbyte;
-    } else {
-      celt_fatal("range encoder overflow\n");
-    }
-  }
-  *(_b->ptr++)=(unsigned char)_value;
-  _value>>=8;
-  *(_b->ptr++)=(unsigned char)_value;
-  _value>>=8;
-  *(_b->ptr++)=(unsigned char)_value;
-  _value>>=8;
-  *(_b->ptr++)=(unsigned char)_value;
-}
-
-void ec_byte_writecopy(ec_byte_buffer *_b,void *_source,long _bytes){
-  ptrdiff_t endbyte;
-  endbyte=_b->ptr-_b->buf;
-  if(endbyte+_bytes>_b->storage){
-    if (_b->resizable){
-      _b->storage=endbyte+_bytes+EC_BUFFER_INCREMENT;
-      _b->buf=celt_realloc(_b->buf,_b->storage*sizeof(char));
-      _b->ptr=_b->buf+endbyte;
-    } else {
-      celt_fatal("range encoder overflow\n");
-    }
-  }
-  memmove(_b->ptr,_source,_bytes);
-  _b->ptr+=_bytes;
-}
-
-void ec_byte_writeclear(ec_byte_buffer *_b){
-  if (_b->resizable)
-    celt_free(_b->buf);
-}
-
-
 
 void ec_enc_bits(ec_enc *_this,ec_uint32 _fl,int _ftb){
   unsigned fl;
diff --git a/tests/ectest.c b/tests/ectest.c
index ec466b33dadeb9241b038e9f3227bb62256cc477..4552c1b654ea69b24a829c2a37153897f212518b 100644
--- a/tests/ectest.c
+++ b/tests/ectest.c
@@ -105,7 +105,6 @@ int main(int _argc,char **_argv){
      ldexp(nbits2,-4),ldexp(nbits,-4));
     ret=-1;
   }
-  ec_byte_writeclear(&buf);
   srand(seed);
   fprintf(stderr,"Testing random streams... Random seed: %u (%.4X)\n", seed, rand() % 65536);
   for(i=0;i<409600;i++){
@@ -149,7 +148,6 @@ int main(int _argc,char **_argv){
         ret=-1;
       }
     }
-    ec_byte_writeclear(&buf);
     free(data);
   }
   free(ptr);
diff --git a/tests/laplace-test.c b/tests/laplace-test.c
index 6e5a0833f31d19811f13da5e6a8bf8a69fd0d879..417f4e1c9922a52ba33a9c63ef0db1d964747191 100644
--- a/tests/laplace-test.c
+++ b/tests/laplace-test.c
@@ -15,6 +15,7 @@
 #include "../libcelt/entcode.c"
 #include "../libcelt/laplace.c"
 
+#define DATA_SIZE 40000
 
 int main(void)
 {
@@ -23,9 +24,12 @@ int main(void)
    ec_enc enc;
    ec_dec dec;
    ec_byte_buffer buf;
+   unsigned char *ptr;
    int val[10000], decay[10000];
    ALLOC_STACK;
-   ec_byte_writeinit(&buf);
+   ptr = malloc(DATA_SIZE);
+   ec_byte_writeinit_buffer(&buf, ptr, DATA_SIZE);
+   //ec_byte_writeinit(&buf);
    ec_enc_init(&enc,&buf);
    
    val[0] = 3; decay[0] = 6000;
@@ -54,6 +58,5 @@ int main(void)
       }
    }
    
-   ec_byte_writeclear(&buf);
    return ret;
 }