diff --git a/ChangeLog b/ChangeLog
index 8d88ccfd96..d414222810 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -21,6 +21,8 @@ Features
 Changes
    * Removed redundant POLARSSL_DEBUG_MSG define
    * AES code only check for Padlock once
+   * Fixed const-correctness mpi_get_bit()
+   * Documentation for mpi_lsb() and mpi_msb()
 
 Bugfix
    * Fixed handling error in mpi_cmp_mpi() on longer B values (found by
diff --git a/include/polarssl/bignum.h b/include/polarssl/bignum.h
index ad033084c1..898e37daf7 100644
--- a/include/polarssl/bignum.h
+++ b/include/polarssl/bignum.h
@@ -192,7 +192,7 @@ int mpi_lset( mpi *X, t_sint z );
  *
  * \return         Either a 0 or a 1
  */
-int mpi_get_bit( mpi *X, size_t pos );
+int mpi_get_bit( const mpi *X, size_t pos );
 
 /*
  * \brief          Set a bit of X to a specific value of 0 or 1
@@ -211,14 +211,20 @@ int mpi_get_bit( mpi *X, size_t pos );
 int mpi_set_bit( mpi *X, size_t pos, unsigned char val );
 
 /**
- * \brief          Return the number of least significant bits
+ * \brief          Return the number of zero-bits before the least significant
+ *                 '1' bit
+ *
+ * Note: Thus also the zero-based index of the least significant '1' bit
  *
  * \param X        MPI to use
  */
 size_t mpi_lsb( const mpi *X );
 
 /**
- * \brief          Return the number of most significant bits
+ * \brief          Return the number of bits up to and including the most
+ *                 significant '1' bit'
+ *
+ * Note: Thus also the one-based index of the most significant '1' bit
  *
  * \param X        MPI to use
  */
diff --git a/library/bignum.c b/library/bignum.c
index 0cb95055df..5c0d6220da 100644
--- a/library/bignum.c
+++ b/library/bignum.c
@@ -173,7 +173,7 @@ cleanup:
 /*
  * Get a specific bit
  */
-int mpi_get_bit( mpi *X, size_t pos )
+int mpi_get_bit( const mpi *X, size_t pos )
 {
     if( X->n * biL <= pos )
         return( 0 );