diff --git a/Common/DefaultOptions.h b/Common/DefaultOptions.h
index 310beb0e4aa50a5fcbc977d8bbb1fd191465eb1f..979f5c7302f16cfa3ffdb9abff379a0d447f81b7 100644
--- a/Common/DefaultOptions.h
+++ b/Common/DefaultOptions.h
@@ -197,7 +197,8 @@ StringXString SolverOptions_String[] = {
 #endif
     "Base name of socket (UNIX socket if the name does not contain a colon, TCP/IP "
     "otherwise, in the form 'host:baseport'; the actual name/port is constructed "
-    "by appending the unique client id)"},
+    "by appending the unique client id. If baseport is 0, the port is chosen "
+    "automatically (recommended))"},
 
   { 0, 0 , 0 , "" , 0 }
 } ;
diff --git a/Geo/GModel.cpp b/Geo/GModel.cpp
index 466a04c8e1e14b116e73581ebc9f1ec28506703f..690745ca4282383fd0be7f88fb28d4ab11c08ab6 100644
--- a/Geo/GModel.cpp
+++ b/Geo/GModel.cpp
@@ -542,7 +542,7 @@ bool GModel::setAllVolumesPositive()
 {
   bool ok = true;
   for(riter it = regions.begin(); it != regions.end(); ++it)
-    for (int i = 0; i < (*it)->getNumMeshElements(); ++i)
+    for (unsigned int i = 0; i < (*it)->getNumMeshElements(); ++i)
       if(!(*it)->getMeshElement(i)->setVolumePositive())
         ok = false;
   return ok;
diff --git a/Mesh/meshGRegion.cpp b/Mesh/meshGRegion.cpp
index de8e2b762bf1cd9b5dec28fd4437560ec453118c..69b79a9692f76c2629fa739f513bb433f6a37818 100644
--- a/Mesh/meshGRegion.cpp
+++ b/Mesh/meshGRegion.cpp
@@ -718,7 +718,7 @@ static int getWedge (BoundaryLayerColumns* _columns, MVertex *v1, MVertex *v2,
   vert2End   = it->second;
 
 
-  int INDEX1, count = 0;
+  int INDEX1 = 0, count = 0;
   for (int i=0;i<NW1;i++){
     for (int j=i+1;j<NW1;j++){
       if ((vert1Start == i && vert1End == j) ||
@@ -729,7 +729,7 @@ static int getWedge (BoundaryLayerColumns* _columns, MVertex *v1, MVertex *v2,
       count++;
     }
   }
-  int INDEX2;
+  int INDEX2 = 0;
   count = 0;
   for (int i=0;i<NW2;i++){
     for (int j=i+1;j<NW2;j++){
@@ -884,13 +884,13 @@ static bool modifyInitialMeshForTakingIntoAccountBoundaryLayers(GRegion *gr)
 	    v13 = c22._column[l-1];
 	    v14 = c21._column[l-1];
 	  }
-	  
+
 	  if (l == 0){
 	    MPrism *prism = new MPrism(v12,v21,v22,v13,v24,v23);
 	    // store the layer the element belongs
 	    prism->setPartition(l+1);
 	    myCol.push_back(prism);
-	    
+
 	    blPrisms.push_back(prism);
 	  }
 	  else {
diff --git a/doc/texinfo/opt_solver.texi b/doc/texinfo/opt_solver.texi
index f219e2637f461f3db871eabd7ff6fd05499f3359..648c43bb560f24e6a13eaf16ded4c0f954a7f91f 100644
--- a/doc/texinfo/opt_solver.texi
+++ b/doc/texinfo/opt_solver.texi
@@ -155,7 +155,7 @@ Default value: @code{""}@*
 Saved in: @code{General.SessionFileName}
 
 @item Solver.SocketName
-Base name of socket (UNIX socket if the name does not contain a colon, TCP/IP otherwise, in the form 'host:baseport'; the actual name/port is constructed by appending the unique client id)@*
+Base name of socket (UNIX socket if the name does not contain a colon, TCP/IP otherwise, in the form 'host:baseport'; the actual name/port is constructed by appending the unique client id. If baseport is 0, the port is chosen automatically (recommended))@*
 Default value: @code{".gmshsock"}@*
 Saved in: @code{General.OptionsFileName}