diff --git a/pyfstat/core.py b/pyfstat/core.py
index 0116573d05635040970d631f4ab5d5f3f6ab2757..7839cdc9f240edd1be1887fdf84fc66ce059ec24 100755
--- a/pyfstat/core.py
+++ b/pyfstat/core.py
@@ -292,7 +292,7 @@ class ComputeFstat(object):
         FstatOAs.prevInput = lalpulsar.FstatOptionalArgsDefaults.prevInput
         FstatOAs.collectTiming = lalpulsar.FstatOptionalArgsDefaults.collectTiming
 
-        if hasattr(self, 'injectSource') and type(self.injectSources) == dict:
+        if hasattr(self, 'injectSources') and type(self.injectSources) == dict:
             logging.info('Injecting source with params: {}'.format(
                 self.injectSources))
             PPV = lalpulsar.CreatePulsarParamsVector(1)
@@ -308,7 +308,7 @@ class ComputeFstat(object):
             if 't0' not in self.injectSources:
                 PP.Transient.type = lalpulsar.TRANSIENT_NONE
             FstatOAs.injectSources = PPV
-        if hasattr(self, 'injectSources') and type(self.injectSources) == str:
+        elif hasattr(self, 'injectSources') and type(self.injectSources) == str:
             logging.info('Injecting source from param file: {}'.format(
                 self.injectSources))
             PPV = lalpulsar.PulsarParamsFromFile(self.injectSources, self.tref)
diff --git a/pyfstat/mcmc_based_searches.py b/pyfstat/mcmc_based_searches.py
index 8016cee5e4ebce4a4efdb044041b614cc6d72ac5..acb466b64bac4aef587a6104a1b30ce1adfbc43d 100644
--- a/pyfstat/mcmc_based_searches.py
+++ b/pyfstat/mcmc_based_searches.py
@@ -23,8 +23,8 @@ import helper_functions
 class MCMCSearch(BaseSearchClass):
     """ MCMC search using ComputeFstat"""
     @helper_functions.initializer
-    def __init__(self, label, outdir, sftfilepath, theta_prior, tref,
-                 minStartTime, maxStartTime, nsteps=[100, 100],
+    def __init__(self, label, outdir, theta_prior, tref, minStartTime,
+                 maxStartTime, sftfilepath=None, nsteps=[100, 100],
                  nwalkers=100, ntemps=1, log10temperature_min=-5,
                  theta_initial=None, scatter_val=1e-10,
                  binary=False, BSGL=False, minCoverFreq=None,
@@ -748,11 +748,12 @@ class MCMCSearch(BaseSearchClass):
             logging.info('No pickled data found')
             return False
 
-        oldest_sft = min([os.path.getmtime(f) for f in
-                          self.get_list_of_matching_sfts()])
-        if os.path.getmtime(self.pickle_path) < oldest_sft:
-            logging.info('Pickled data outdates sft files')
-            return False
+        if self.sftfilepath is not None:
+            oldest_sft = min([os.path.getmtime(f) for f in
+                              self.get_list_of_matching_sfts()])
+            if os.path.getmtime(self.pickle_path) < oldest_sft:
+                logging.info('Pickled data outdates sft files')
+                return False
 
         old_d = self.get_saved_data().copy()
         new_d = self.get_save_data_dictionary().copy()