diff --git a/elliptical/dw_elliptical.c b/elliptical/dw_elliptical.c
index b9862357332f9b9f3c6be42107af2241198b8246..22fc96c31efca829929da82b56c7f0c648373d11 100644
--- a/elliptical/dw_elliptical.c
+++ b/elliptical/dw_elliptical.c
@@ -573,7 +573,6 @@ TElliptical* CreateElliptical_Step(int dim, TVector center, TMatrix scale, PRECI
 {
   TElliptical* elliptical;
   TElliptical_step *data;
-  int i;
 
   if (elliptical=CreateElliptical(dim,center,scale))
     {
diff --git a/matrix/bmatrix.c b/matrix/bmatrix.c
index d08101b776392430c5182093e7918b982f2a8161..3ce6a6772b1e934326da95ae76810f19c827dd16 100644
--- a/matrix/bmatrix.c
+++ b/matrix/bmatrix.c
@@ -1842,9 +1842,8 @@ int bCholesky(PRECISION *X, int m, int u, int t)
   #define potrf dpotrf
 #endif
 
-  int i, j, k, b, info;
+  int i, j, k;
   PRECISION scale, *pX, *pXi, *pXj;
-  char uplo;
 
   if (u)
     {
@@ -2087,7 +2086,7 @@ int bEigen_symmetric(PRECISION *val, PRECISION *vec, PRECISION *x, int n, int ve
 #endif
 
   char jobz=vec ? 'V' : 'N', range='A', uplo='U';
-  int i, j, m, lwork=-1, *iwork, liwork=-1, isize, info, rtrn=0, isuppz;
+  int i, m, lwork=-1, *iwork, liwork=-1, isize, info, rtrn=0, isuppz;
   PRECISION *work, size, *A, v, abstol=-1.0;
 
   if (!(A=(PRECISION*)dw_malloc(n*n*sizeof(PRECISION))))
diff --git a/matrix/dw_matrix.c b/matrix/dw_matrix.c
index 9ed3ce6e0fcdf1e4b5cc0c19f65d60d4e05b971d..fb978baaad3403511e92fb7b955e83010f04b369 100644
--- a/matrix/dw_matrix.c
+++ b/matrix/dw_matrix.c
@@ -3242,7 +3242,7 @@ PRECISION MatrixNormEuclidean(TMatrix X)
 */
 PRECISION MatrixNorm(TMatrix X)
 {
-  int err, i;
+  int err;
   PRECISION result, *d;
   if (!X)
     {