diff --git a/TODO b/TODO
index 5e815f7f045cfb67eb5fe3eb7a2d439927cd9170..54411e77a82100c0d057cef48131ee33abc7d9b8 100644
--- a/TODO
+++ b/TODO
@@ -1,4 +1,5 @@
-- Fix channel order in intra prediction and folding
+- Check minimum width of bands
+- Adjust the energy resolution based on the bit-rate
 - Dynamic adjustment of energy quantisation
 - Psychacoustics
   * Error shaping within each band
diff --git a/libcelt/cwrs.c b/libcelt/cwrs.c
index 60880c611d8c0fe99b5c3762262c04eda711cd4f..9ed3d7336d8f3175f53aa150a9d642930bf29aac 100644
--- a/libcelt/cwrs.c
+++ b/libcelt/cwrs.c
@@ -138,7 +138,7 @@ celt_uint64_t ncwrs_unext64(int _n,celt_uint64_t *_ui){
   On exit, _u will be initialized to column _m of U(n,m).*/
 celt_uint32_t ncwrs_u32(int _n,int _m,celt_uint32_t *_u){
   int k;
-  memset(_u,0,_n*sizeof(*_u));
+  CELT_MEMSET(_u,0,_n);
   if(_m<=0)return 1;
   if(_n<=0)return 0;
   for(k=1;k<_m;k++)unext32(_u,_n,2);
@@ -147,7 +147,7 @@ celt_uint32_t ncwrs_u32(int _n,int _m,celt_uint32_t *_u){
 
 celt_uint64_t ncwrs_u64(int _n,int _m,celt_uint64_t *_u){
   int k;
-  memset(_u,0,_n*sizeof(*_u));
+  CELT_MEMSET(_u,0,_n);
   if(_m<=0)return 1;
   if(_n<=0)return 0;
   for(k=1;k<_m;k++)unext64(_u,_n,2);
diff --git a/libcelt/kiss_fft.c b/libcelt/kiss_fft.c
index 2dd9519c90c90a7ca523a38295fa0d525c80ed9e..8cd95d908f4e9f9841fc18331c2fe7ad74dab3f8 100644
--- a/libcelt/kiss_fft.c
+++ b/libcelt/kiss_fft.c
@@ -526,8 +526,10 @@ void kf_work(
         int m2
         )
 {
+#ifndef RADIX_TWO_ONLY
     int i;
     kiss_fft_cpx * Fout_beg=Fout;
+#endif
     const int p=*factors++; /* the radix  */
     const int m=*factors++; /* stage's fft length/p */
     /*printf ("fft %d %d %d %d %d %d %d\n", p*m, m, p, s2, fstride*in_stride, N, m2);*/
@@ -560,8 +562,10 @@ void ki_work(
              int m2
             )
 {
+#ifndef RADIX_TWO_ONLY
    int i;
    kiss_fft_cpx * Fout_beg=Fout;
+#endif
    const int p=*factors++; /* the radix  */
    const int m=*factors++; /* stage's fft length/p */
    /*printf ("fft %d %d %d %d %d %d %d\n", p*m, m, p, s2, fstride*in_stride, N, m2);*/
diff --git a/tests/cwrs32-test.c b/tests/cwrs32-test.c
index 0e37c696845221e1eb508ad347f8197a4ed97c91..1f10ed485af0f55fbb3cf843af1c8ed15106e7b3 100644
--- a/tests/cwrs32-test.c
+++ b/tests/cwrs32-test.c
@@ -4,7 +4,7 @@
 
 #include <stdio.h>
 #include "cwrs.h"
-
+#include <string.h>
 #define NMAX (10)
 #define MMAX (9)
 
diff --git a/tests/cwrs64-test.c b/tests/cwrs64-test.c
index cc76374cd481c43c1d2f47f0e8801caf3db877f2..2878f28b1189dd43eac13f13fb4cb306d099ede7 100644
--- a/tests/cwrs64-test.c
+++ b/tests/cwrs64-test.c
@@ -4,6 +4,8 @@
 
 #include <stdio.h>
 #include "cwrs.h"
+#include <string.h>
+
 #define NMAX (32)
 #define MMAX (16)