diff --git a/configure.ac b/configure.ac
index 65e4fbd8ff815bd98e0e2f338c6504cdcfe0d77d..fdad7bbb00ce7be414289bb95810f098eb69e990 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5,8 +5,8 @@ AC_INIT(libcelt/arch.h)
 AM_CONFIG_HEADER([config.h])
 
 CELT_MAJOR_VERSION=0
-CELT_MINOR_VERSION=8
-CELT_MICRO_VERSION=1
+CELT_MINOR_VERSION=9
+CELT_MICRO_VERSION=0
 CELT_EXTRA_VERSION=
 CELT_VERSION=$CELT_MAJOR_VERSION.$CELT_MINOR_VERSION.$CELT_MICRO_VERSION$CELT_EXTRA_VERSION
 LIBCELT_SUFFIX=0
@@ -118,7 +118,7 @@ AC_ARG_ENABLE(fixed-point-debug, [  --enable-fixed-point-debug  debug fixed-poin
 fi])
 
 float_approx=$has_float_approx
-AC_ARG_ENABLE(float-approx, [  --disable-float-approx  do not use fast approximations for floating point],
+AC_ARG_ENABLE(float-approx, [  --enable-float-approx   enable fast approximations for floating point],
     [ if test "$enableval" = yes; then
     AC_WARN([Floating point approximations are not supported on all platforms.])
     float_approx=yes
diff --git a/libcelt/celt.c b/libcelt/celt.c
index e667f20e527ad064414130a36f5e07e98d2d61a2..be90a673e271b34e81f835b9b399d6926e0884c4 100644
--- a/libcelt/celt.c
+++ b/libcelt/celt.c
@@ -629,7 +629,7 @@ int celt_encode_with_ec_float(CELTEncoder * restrict st, const celt_sig * pcm, c
 
    resynth = optional_resynthesis!=NULL;
 
-   if (st->complexity > 1)
+   if (st->complexity > 1 && LM>0)
    {
       isTransient = M > 1 &&
          transient_analysis(in, N+st->overlap, C, &transient_time,
@@ -746,7 +746,8 @@ int celt_encode_with_ec_float(CELTEncoder * restrict st, const celt_sig * pcm, c
          error, enc, C, LM, nbAvailableBytes, st->force_intra,
          &st->delayedIntra, st->complexity >= 4);
 
-   ec_enc_bit_prob(enc, shortBlocks!=0, 8192);
+   if (LM > 0)
+      ec_enc_bit_prob(enc, shortBlocks!=0, 8192);
 
    if (shortBlocks)
    {
@@ -1488,7 +1489,10 @@ int celt_decode_with_ec_float(CELTDecoder * restrict st, const unsigned char *da
    unquant_coarse_energy(st->mode, st->start, st->end, bandE, oldBandE,
          intra_ener, st->mode->prob, dec, C, LM);
 
-   isTransient = ec_dec_bit_prob(dec, 8192);
+   if (LM > 0)
+      isTransient = ec_dec_bit_prob(dec, 8192);
+   else
+      isTransient = 0;
 
    if (isTransient)
       shortBlocks = M;
diff --git a/libcelt/modes.h b/libcelt/modes.h
index c7bd526c58136e91c1bf22877db96c28b521bd75..826ab40053b90bf7b08c5c5019b9c0dfbb873f0b 100644
--- a/libcelt/modes.h
+++ b/libcelt/modes.h
@@ -43,7 +43,7 @@
 
 #define MAX_CONFIG_SIZES 5
 
-#define CELT_BITSTREAM_VERSION 0x8000000d
+#define CELT_BITSTREAM_VERSION 0x8000000e
 
 #ifdef STATIC_MODES
 #include "static_modes.h"