diff --git a/src/EEHGMaster.py b/src/EEHGMaster.py
index 2d5ff198cb2db4a12c42d7c07bfad0fb3e0b3620..9b91293750f37581f6313ad7d65235d502ce483d 100755
--- a/src/EEHGMaster.py
+++ b/src/EEHGMaster.py
@@ -1709,27 +1709,36 @@ class EEHGMaster(Device):
         r561 = utl.DispersiveSection(r56=0.0, lung = 3.0, dx=0.0, dt=0.0, r56_range=[0.0, 10e-3])
         R561_range = r561.r56_range
         
-        print(float(self.r562.get_properties().max_value))
         r562 = utl.DispersiveSection(r56=0.0, lung = 1.2, dx=0.0, dt=0.0, 
                                      r56_range=[0.0, float(self.r562.get_properties().max_value) *1e-6]) #dovremmo aggiornare il valore massimo di r56 con la dipendenza dall'energia
         R562_range = r562.r56_range
 
 #        eehg_ora = utili.EEHGsetup(A1 = A1_curr, A2 = A2_curr, n= n_curr, m = m_curr, R56_1 = r561curr*1e-3, R56_2 = r562curr*1e-6)
-        eehg_ora = utl.EEHGsetup(A1 = A1_curr, A2 = A2_curr, 
+        try:
+            eehg_ora = utl.EEHGsetup(A1 = A1_curr, A2 = A2_curr, 
                                    n = self.n_value, m = self.m_value,
                                    R56_1 = self._r561_curr * 1e-3,
                                    R56_2 = self._r562_curr * 1e-6)
+        except:
+            self.set_state(tango.DevState.FAULT)
+            self.set_status('Calculation failed.')
+            return
 
         par_err = np.array([5.0,5.0,2.0,2.0])
 
-        [n_sol,m_sol,wls1_sol,wls2_sol] = eehg_ora.calc_wls2_n_m(self._lambda_fel * 1e-9,
+        try:
+            [n_sol,m_sol,wls1_sol,wls2_sol] = eehg_ora.calc_wls2_n_m(self._lambda_fel * 1e-9,
                     seed1, seed2, m_range = m_rng,
                     n_range = n_rng, n_goal = -1, min_wls2_chg = True,
                     printout = printout)
 # 
-        solu = eehg_ora.calc_eehg_conf(ebeam, n_sol, m_sol, wls1_sol, wls2_sol,
+            solu = eehg_ora.calc_eehg_conf(ebeam, n_sol, m_sol, wls1_sol, wls2_sol,
                 fix1 = 'A1', fix2 = 'R561', peak = picco, par_err = par_err, 
                 printout = printout)
+        except:
+            self.set_state(tango.DevState.FAULT)
+            self.set_status('Calculation failed.')
+            return
 
         '''
         soluzione da applicare i_solution
@@ -1751,12 +1760,12 @@ class EEHGMaster(Device):
         self.write_m(solu[7][self._i_solution])
 #        Bmax_sol_ap = solu[8][self._i_solution] # da scivere nel server su bunch_fel
         bunching_array = solu[8]
-        print(bunching_array)
+#        print(bunching_array)
         self._bunc_sol = solu[8][self._i_solution]
 #        B_var_ap = solu[9][self._i_solution]
 
         self.set_state(tango.DevState.ON)
-        self.set_status('Calculation performed')
+        self.set_status('Calculation performed.')
         # PROTECTED REGION END #    //  EEHGMaster.Calculate
 
     def is_Calculate_allowed(self):