diff --git a/Geo/Chain.cpp b/Geo/Chain.cpp
index c56186f658e5b584ecfa91d91771c47a5b8d7bc0..dd80308fd12840ed93b8b2ed9af96f1c2388e485 100644
--- a/Geo/Chain.cpp
+++ b/Geo/Chain.cpp
@@ -27,6 +27,12 @@ void updateFltkTree()
 #endif
 }
 
+std::string convertInt(int number){
+  std::stringstream stream;
+  stream << number;
+  return stream.str();
+}
+
 std::map<GEntity*, std::set<MVertex*, MVertexLessThanNum>,
          GEntityLessThan> ElemChain::_vertexCache;
 
diff --git a/Geo/Chain.h b/Geo/Chain.h
index d3b6b1a48654169986f9c10a1044efa52645bf37..c3d3766432a6553b9e1103b7a1e4c1c2d6c05e2d 100644
--- a/Geo/Chain.h
+++ b/Geo/Chain.h
@@ -21,14 +21,7 @@
 #if defined(HAVE_KBIPACK)
 
 void updateFltkTree();
-
-template <class TTypeA, class TTypeB>
-  bool convert(const TTypeA& input, TTypeB& output ){
-  std::stringstream stream;
-  stream << input;
-  stream >> output;
-  return stream.good();
-}
+std::string convertInt(int number);
 
 // Class whose derivative classes are to have partial or total order
 template <class Type>
@@ -508,17 +501,16 @@ void Chain<C>::addToModel(GModel* m, bool post,
 #if defined(HAVE_POST)
   if(post && CTX::instance()->batch == 0) {
     // create PView for instant visualization
-    /*std::string pnum = "";
-    convert(physicalNum, pnum);
+    std::string pnum = convertInt(physicalNum);
     std::string postname = pnum + ": " + _name;
     PView* view = new PView(postname, "ElementData", m, data, 0, 1);
     // the user should be interested about the orientations
-    int size = 30;
+    /*int size = 30;
     PViewOptions* opt = view->getOptions();
     if(opt->tangents == 0) opt->tangents = size;
     if(opt->normals == 0) opt->normals = size;
-    view->setOptions(opt);
-    updateFltkTree();*/
+    view->setOptions(opt);*/
+    updateFltkTree();
   }
 #endif
 }
diff --git a/Geo/Homology.cpp b/Geo/Homology.cpp
index acd72f12fce7db75ba4b59bd350bba499c74e7b2..2159ebc4dec338addecc89aca9d6bd8b4a8c0578 100644
--- a/Geo/Homology.cpp
+++ b/Geo/Homology.cpp
@@ -208,12 +208,10 @@ void Homology::findHomologyBasis(std::vector<int> dim)
   _deleteChains(dim);
   for(int j = 0; j < 4; j++){
     _betti[j] = 0;
-    std::string dimension = "";
-    convert(j, dimension);
+    std::string dimension = convertInt(j);
     for(int i = 1; i <= chainComplex.getBasisSize(j, 3); i++){
 
-      std::string generator = "";
-      convert(i, generator);
+      std::string generator = convertInt(i);
 
       std::string name = "H_" + dimension + domain + generator;
       std::map<Cell*, int, Less_Cell> chain;
@@ -291,13 +289,11 @@ void Homology::findCohomologyBasis(std::vector<int> dim)
   _deleteCochains(dim);
   for(int i = 0; i < 4; i++) _betti[i] = 0;
   for(int j = 3; j > -1; j--){
-    std::string dimension = "";
-    convert(j, dimension);
+    std::string dimension = convertInt(j);
 
     for(int i = 1; i <= chainComplex.getBasisSize(j, 3); i++){
 
-      std::string generator = "";
-      convert(i, generator);
+      std::string generator = convertInt(i);
 
       std::string name = "H^" + dimension + domain + generator;
       std::map<Cell*, int, Less_Cell> chain;
@@ -538,8 +534,7 @@ std::string Homology::_getDomainString(const std::vector<int>& domain,
   if(domain.empty()) domainString += "0";
   else{
     for(unsigned int i = 0; i < domain.size(); i++){
-      std::string temp = "";
-      convert(domain.at(i),temp);
+      std::string temp = convertInt(domain.at(i));
       domainString += temp;
       if (domain.size()-1 > i){
 	domainString += ", ";
@@ -551,8 +546,7 @@ std::string Homology::_getDomainString(const std::vector<int>& domain,
   if(!subdomain.empty()){
     domainString += ", {";
     for(unsigned int i = 0; i < subdomain.size(); i++){
-      std::string temp = "";
-      convert(subdomain.at(i),temp);
+      std::string temp = convertInt(subdomain.at(i));
       domainString += temp;
       if (subdomain.size()-1 > i){
         domainString += ", ";
diff --git a/Plugin/HomologyPostProcessing.cpp b/Plugin/HomologyPostProcessing.cpp
index 3848aeeb0ebd5525be4fa6ae76e557bb768fb809..fd0d912896799a655f938bcdb11959441b025d01 100644
--- a/Plugin/HomologyPostProcessing.cpp
+++ b/Plugin/HomologyPostProcessing.cpp
@@ -288,11 +288,9 @@ PView *GMSH_HomologyPostProcessingPlugin::execute(PView *v)
     ElemChain::clearVertexCache();
   }
 
-  std::string dims = "";
-  std::string nums = "";
   for(unsigned int i = 0; i < newBasis.size(); i++) {
-    convert(newBasis.at(i).getDim(), dims);
-    convert(i+1, nums);
+    std::string dims = convertInt(newBasis.at(i).getDim());
+    std::string nums = convertInt(i+1);
     newBasis.at(i).setName("C" + dims + " " + cname + nums);
     newBasis.at(i).addToModel(m);
   }