diff --git a/Experiments/configurations/eiv_sine.json b/Experiments/configurations/eiv_sine.json
index 6d0a36de23878a08760d94dbec99af0d390e8f35..b2cce34aa43b3823911a0021ed3667f8ab59abd8 100644
--- a/Experiments/configurations/eiv_sine.json
+++ b/Experiments/configurations/eiv_sine.json
@@ -11,6 +11,7 @@
 	"p": 0.1,
 	"lr_update": 20,
 	"std_y_update_points": [1,40],
+	"eiv_number_of_forward_draws": 10,
 	"eiv_prediction_number_of_draws": [100,5],
 	"eiv_prediction_number_of_batches": 10,
 	"init_std_y_list": [0.1],
diff --git a/Experiments/train_eiv.py b/Experiments/train_eiv.py
index 3ecccea3d820e3a54dd3c4d63bb20b94d14b5447..973fc59ddc003f4e0577b1f718b4ad91cd518dd7 100644
--- a/Experiments/train_eiv.py
+++ b/Experiments/train_eiv.py
@@ -41,10 +41,16 @@ p = conf_dict["p"]
 lr_update = conf_dict["lr_update"]
 # offset before updating sigma_y after each epoch
 std_y_update_points = conf_dict["std_y_update_points"]
-# will be used to predict the RMSE and update sigma_y accordingly
+
+# will be used to predict, to compute the RMSE and update sigma_y accordingly
+try:
+    eiv_number_of_forward_draws = conf_dict['eiv_number_of_forward_draws']
+except KeyError:
+    eiv_number_of_forward_draws = 5
 eiv_prediction_number_of_draws = conf_dict["eiv_prediction_number_of_draws"]
 eiv_prediction_number_of_batches = \
         conf_dict["eiv_prediction_number_of_batches"]
+
 init_std_y_list = conf_dict["init_std_y_list"]
 fixed_std_x = conf_dict['fixed_std_x']
 gamma = conf_dict["gamma"]
@@ -225,7 +231,9 @@ def train_on_data(init_std_y, seed):
     # regularization
     reg = unscaled_reg/len(train_data)
     # create epoch_map
-    criterion = loss_functions.nll_eiv
+    def criterion(net, x, y, reg):
+        return loss_functions.nll_eiv(net, x, y, reg,
+                number_of_draws=eiv_number_of_forward_draws)
     epoch_map = UpdatedTrainEpoch(train_dataloader=train_dataloader,
             test_dataloader=test_dataloader,
             criterion=criterion, std_y_map=std_y_map, std_x_map=std_x_map,