diff --git a/src/problem.cpp b/src/problem.cpp
index 2b44e3181124d1910bdc81f1cdb548d700a2602d..50100be20ff50ec47858026cbbf5ec44f1bb20ad 100644
--- a/src/problem.cpp
+++ b/src/problem.cpp
@@ -100,8 +100,10 @@ SensorBasePtr Problem::installSensor(const std::string& _sen_type, //
                                      const Eigen::VectorXs& _extrinsics, //
                                      const std::string& _intrinsics_filename)
 {
+
     if (_intrinsics_filename != "")
     {
+        assert(file_exists(_intrinsics_filename) && "Cannot install sensor: intrinsics' YAML file does not exist.");
         IntrinsicsBasePtr intr_ptr = IntrinsicsFactory::get().create(_sen_type, _intrinsics_filename);
         return installSensor(_sen_type, _unique_sensor_name, _extrinsics, intr_ptr);
     }
@@ -149,6 +151,7 @@ ProcessorBasePtr Problem::installProcessor(const std::string& _prc_type, //
         return installProcessor(_prc_type, _unique_processor_name, sen_ptr, nullptr);
     else
     {
+        assert(file_exists(_params_filename) && "Cannot install processor: parameters' YAML file does not exist.");
         ProcessorParamsBasePtr prc_params = ProcessorParamsFactory::get().create(_prc_type, _params_filename);
         return installProcessor(_prc_type, _unique_processor_name, sen_ptr, prc_params);
     }
diff --git a/src/processors/processor_tracker_feature_trifocal.cpp b/src/processors/processor_tracker_feature_trifocal.cpp
index 0f16f3d4ad5bad25ef20ac89788183f269e3bc97..5db65175984a3e5cb3933b487a4e0b1609e20706 100644
--- a/src/processors/processor_tracker_feature_trifocal.cpp
+++ b/src/processors/processor_tracker_feature_trifocal.cpp
@@ -24,6 +24,8 @@ ProcessorTrackerFeatureTrifocal::ProcessorTrackerFeatureTrifocal(const Processor
         initialized_(false)
 {
     assert(!(params_.yaml_file_params_vision_utils.empty()) && "Missing YAML file with vision_utils parameters!");
+    assert(file_exists(params_.yaml_file_params_vision_utils) && "Cannot setup processor: vision_utils' YAML file does not exist.");
+
     // Detector
     std::string det_name = vision_utils::readYamlType(params_.yaml_file_params_vision_utils, "detector");
     det_ptr_ = vision_utils::setupDetector(det_name, det_name + " detector", params_.yaml_file_params_vision_utils);
diff --git a/src/wolf.h b/src/wolf.h
index 6fd47ad622d9a5754e5525041ebcd138c6229241..f062e7b00aa29c723fbb227fa79af130108f1643 100644
--- a/src/wolf.h
+++ b/src/wolf.h
@@ -23,6 +23,9 @@
 #include <map>
 #include <memory> // shared_ptr and weak_ptr
 
+// System specifics
+#include <sys/stat.h>
+
 namespace wolf {
 
 /**
@@ -282,6 +285,12 @@ WOLF_PTR_TYPEDEFS(LocalParametrizationBase);
 // ==================================================
 // Some dangling functions
 
+inline bool file_exists(const std::string& _name)
+{
+    struct stat buffer;
+    return (stat (_name.c_str(), &buffer) == 0);
+}
+
 inline const Eigen::Vector3s gravity(void) {
     return Eigen::Vector3s(0,0,-9.806);
 }
diff --git a/src/yaml/processor_tracker_feature_trifocal_yaml.cpp b/src/yaml/processor_tracker_feature_trifocal_yaml.cpp
index 024d7a3a8f3519c91a5f31cad458a4d443c9a8ee..cb77aac131a61229e4d556426f6b19481f6cfea0 100644
--- a/src/yaml/processor_tracker_feature_trifocal_yaml.cpp
+++ b/src/yaml/processor_tracker_feature_trifocal_yaml.cpp
@@ -40,6 +40,13 @@ static ProcessorParamsBasePtr createProcessorParamsTrackerFeatureTrifocal(const
         YAML::Node vision_utils               = config      ["vision_utils"];
         params->yaml_file_params_vision_utils = vision_utils["YAML file params"].as<std::string>();
 
+        // relative to global path for Vision Utils YAML
+        assert(params->yaml_file_params_vision_utils.at(0) != ('/') && "The parameter YAML FILE PARAMS (in processor params YAML file) must be specified with a path relative to the processor YAML file.");
+        unsigned first = _filename_dot_yaml.find("/");
+        unsigned last = _filename_dot_yaml.find_last_of("/");
+        std::string strNew = _filename_dot_yaml.substr (first,last-first);
+        params->yaml_file_params_vision_utils = _filename_dot_yaml.substr (first,last-first) + "/" + params->yaml_file_params_vision_utils;
+
         YAML::Node algorithm                  = config   ["algorithm"];
         params->time_tolerance                = algorithm["time tolerance"]               .as<Scalar>();
         params->voting_active                 = algorithm["voting active"]                .as<bool>();