diff --git a/src/uim/pumpcalibuim.py b/src/uim/pumpcalibuim.py
index 719dbd9355f6e406f06ae85c32f7c7bdcaa8c781..6dc1ec7b5adc6c1f9f94ac580daecdf63f2db1f5 100644
--- a/src/uim/pumpcalibuim.py
+++ b/src/uim/pumpcalibuim.py
@@ -8,6 +8,7 @@ from PyQt5.QtCore import *
 import pandas as pd
 import numpy as np
 from pandas.api.types import is_numeric_dtype
+from cfatools.provider.pump_calib import PumpCalibReader
 
 import utils
 from config import Config
@@ -39,10 +40,13 @@ class PumpCalibUim:
 
         if pump_text == "Common pump":
             self.pump_prvd = self.compump_prvd
+            self.pump_reader = PumpCalibReader(self.config.read("DATA_SOURCE", "absolute_root_dir"), "COMPUMP")
         elif pump_text == "Collector pump":
             self.pump_prvd = self.colpump_prvd
+            self.pump_reader = PumpCalibReader(self.config.read("DATA_SOURCE", "absolute_root_dir"), "COLPUMP")
         elif pump_text == "Picarro pump":
             self.pump_prvd = self.picpump_prvd
+            self.pump_reader = PumpCalibReader(self.config.read("DATA_SOURCE", "absolute_root_dir"), "PICPUMP")
         else:
             raise ValueError("Impossible to assign a Provider from text [" + pump_text + "]")
 
@@ -50,8 +54,8 @@ class PumpCalibUim:
 
     def change_pump(self, pump_text: str = None):
         self.set_current_pump_prvd(pump_text)
-        self.runs_df = self.pump_prvd.get_runs_df()
-        self.coef_df = self.pump_prvd.get_coef_df()
+        self.runs_df = self.pump_reader.get_runs_df()
+        self.coef_df = self.pump_reader.get_coef_df()
         self.__update_runs_plot__(self.runs_df, self.coef_df)
         self.__update_evol_plot__(self.pump_prvd.get_mlmin_to_rpm_evol_df())