diff --git a/matlab/set_prior.m b/matlab/set_prior.m
index 0d072dfa59e4ed27d91c4b965f9c6dfb784364bd..66633792c2cb78e0b59afbfec457fc2f598a8c6a 100644
--- a/matlab/set_prior.m
+++ b/matlab/set_prior.m
@@ -79,7 +79,11 @@ if nvn
         M_.H = zeros(nvarobs,nvarobs);
     end
     for i=1:nvn
-        estim_params_.var_endo(i,1) = strmatch(deblank(M_.endo_names(estim_params_.var_endo(i,1),:)),deblank(options_.varobs),'exact');
+        obsi_ = strmatch(deblank(M_.endo_names(estim_params_.var_endo(i,1),:)),deblank(options_.varobs),'exact');
+        if isempty(obsi_)
+            error(['The variable ' deblank(M_.endo_names(estim_params_.var_endo(i,1),:)) ' has to be declared as observable since you assume a measurement error on it.'])
+        end
+        estim_params_.var_endo(i,1) = obsi_;
     end
     xparam1 = [xparam1; estim_params_.var_endo(:,2)];
     ub = [ub; estim_params_.var_endo(:,4)];