diff --git a/ChangeLog b/ChangeLog
index 8d88ccf..d414222 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -21,6 +21,8 @@
 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 ad03308..898e37d 100644
--- a/include/polarssl/bignum.h
+++ b/include/polarssl/bignum.h
@@ -192,7 +192,7 @@
  *
  * \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_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 0cb9505..5c0d622 100644
--- a/library/bignum.c
+++ b/library/bignum.c
@@ -173,7 +173,7 @@
 /*
  * 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 );
