diff --git a/bob/ip/tensorflow_extractor/FaceNet.py b/bob/ip/tensorflow_extractor/FaceNet.py
index 9895ebdb90494d154ccfa1fbbd490f326a3c9e76..e7bfb3d8cd7b848a613b36f2e9ecbc79f88be649 100644
--- a/bob/ip/tensorflow_extractor/FaceNet.py
+++ b/bob/ip/tensorflow_extractor/FaceNet.py
@@ -107,8 +107,14 @@ class FaceNet(object):
         return img[None, ...]
 
     def load_model(self):
+        tf.compat.v1.reset_default_graph()
+
+        session_conf = tf.ConfigProto(
+              intra_op_parallelism_threads=1,
+              inter_op_parallelism_threads=1)        
+
         self.graph = tf.Graph()
-        self.session = tf.compat.v1.Session(graph=self.graph)
+        self.session = tf.compat.v1.Session(graph=self.graph, config=session_conf)
 
         if self.model_path is None:
             self.model_path = self.get_modelpath()
@@ -188,8 +194,7 @@ class FaceNet(object):
 
     def __setstate__(self, d):
         # Handling unpicklable objects
-        self.__dict__ = d
-        self.load_model()
+        self.__dict__ = d        
 
     def __getstate__(self):
         # Handling unpicklable objects