diff --git a/src/isdb/EMMI.cpp b/src/isdb/EMMI.cpp
index 1ccf5b4826bbc385d790145adb1900cd99249ede..d345fe4ab02724435b827409ef245900813616f6 100644
--- a/src/isdb/EMMI.cpp
+++ b/src/isdb/EMMI.cpp
@@ -419,7 +419,7 @@ void EMMI::get_GMM_d(string GMM_file)
   VectorGeneric<6> cov;
 
 // open file
-  IFile *ifile = new IFile();
+  std::unique_ptr<IFile> ifile(new IFile);
   if(ifile->FileExist(GMM_file)) {
     ifile->open(GMM_file);
     int idcomp;
@@ -454,7 +454,6 @@ void EMMI::get_GMM_d(string GMM_file)
   } else {
     error("Cannot find GMM_FILE "+GMM_file+"\n");
   }
-  delete ifile;
 
 }
 
diff --git a/src/isdb/Rescale.cpp b/src/isdb/Rescale.cpp
index 5c7a0c361ce9785b6cb909e43263287362c986ed..3cb72995c1c6db2ca7f0fb447312b0096343f5b5 100644
--- a/src/isdb/Rescale.cpp
+++ b/src/isdb/Rescale.cpp
@@ -311,7 +311,7 @@ Rescale::~Rescale()
 void Rescale::read_bias()
 {
 // open file
-  IFile *ifile = new IFile();
+  std::unique_ptr<IFile> ifile(new IFile);
   ifile->link(*this);
   if(ifile->FileExist(Biasfilename_)) {
     ifile->open(Biasfilename_);
@@ -334,7 +334,6 @@ void Rescale::read_bias()
   } else {
     error("Cannot find bias file "+Biasfilename_+"\n");
   }
-  delete ifile;
 }
 
 unsigned Rescale::proposeMove(unsigned x, unsigned xmin, unsigned xmax)