diff --git a/section_4.1_compute_visualize.py b/section_4.1_compute_visualize.py
index 08af491fc61827b5756be3b9d94abba8edda5cf8..3f7e0e7f8931f177791dbed8722fbb66adf7887e 100644
--- a/section_4.1_compute_visualize.py
+++ b/section_4.1_compute_visualize.py
@@ -14,6 +14,9 @@ from scipy import io
 import os
 
 
+np.random.seed(1)
+
+
 ## Some settings
 # name_dataset = 'example_5d_faster_conv'
 name_dataset = 'example_6d_kink'
diff --git a/section_4.2_compute.py b/section_4.2_compute.py
index c60aa4a4bf64bfb9a24b52210598f90a8a62af64..d40c028cfdfbae9fc92f59b90ebb7879a6de6c3e 100644
--- a/section_4.2_compute.py
+++ b/section_4.2_compute.py
@@ -9,6 +9,10 @@ from utils.hyperparameters import dic_hyperparams
 
 from scipy import io
 import os
+import numpy as np
+
+
+np.random.seed(1)
 
 
 list_datasets = ['fried', 'sarcos', 'protein', 'ct', 'diamonds',
diff --git a/section_4.2_visualize.py b/section_4.2_visualize.py
index 1b63fa051db2a68ca3ecc169eb7af71323847403..d78652cdbafd25fe868aa516437c8af25b4e14de 100644
--- a/section_4.2_visualize.py
+++ b/section_4.2_visualize.py
@@ -9,6 +9,10 @@ from matplotlib import pyplot as plt
 from scipy import io
 import os
 import scipy
+import numpy as np
+
+
+np.random.seed(1)
 
 
 ## Some settings
diff --git a/section_4.3_compute.py b/section_4.3_compute.py
index eeed37947103120675a0ebc2a951caaafaeb76ac..06180919ebf0777e4f6d785efba86a5810ee46ee 100644
--- a/section_4.3_compute.py
+++ b/section_4.3_compute.py
@@ -14,6 +14,9 @@ from utils.hyperparameters import dic_hyperparams
 from utils.main_function import run_everything
 
 
+np.random.seed(1)
+
+
 ## Some settings
 list_nctrs = [int(np.round(nr)) for nr in np.logspace(np.log(10) / np.log(10), np.log(1000) / np.log(10), 10)]
 
diff --git a/section_4.3_visualize.py b/section_4.3_visualize.py
index 8eb70a6eeaf2bc889ea2c1b3ef4530eb12a925c3..3743e4505f7aff6187a6a4452f4dc48afc1da0fa 100644
--- a/section_4.3_visualize.py
+++ b/section_4.3_visualize.py
@@ -13,6 +13,9 @@ import pickle
 import scipy
 
 
+np.random.seed(1)
+
+
 ## Some settings
 list_nctrs = [int(np.round(nr)) for nr in np.logspace(np.log(10) / np.log(10), np.log(1000) / np.log(10), 10)]
 
diff --git a/utils/main_function.py b/utils/main_function.py
index 79f5010227d41cff7f7bad286c1291548a113dd5..c1379c9fb5e520844eccb1c583717d249fe0603a 100644
--- a/utils/main_function.py
+++ b/utils/main_function.py
@@ -38,10 +38,12 @@ def run_everything(name_dataset, maxIter_vkoga, N_points, noise_level, reg_para_
 
     # Preprocessing
     if 'example' in name_dataset:
+        # No need to shuffle as dataset is randomly generated
         idx = np.arange(X.shape[0])
     else:
-        assert idx_rerun is not None, 'idx_rerun is not set!'
-        idx = np.load(path_for_indices + '_indices_{}/indices_'.format(idx_rerun) + name_dataset + '.npy')
+        # Random but fixed indices were removed, instead use randomly shuffled every time
+        idx = np.arange(X.shape[0])
+        np.random.shuffle(idx)
 
     n_train = int(.8 * X.shape[0])
 
@@ -50,7 +52,6 @@ def run_everything(name_dataset, maxIter_vkoga, N_points, noise_level, reg_para_
     X_test = X[idx[n_train:]]
     y_test = y[idx[n_train:]]
     X_train_torch, y_train_torch = torch.from_numpy(X_train).type(torch.float), torch.from_numpy(y_train).type(torch.float)
-    # ToDo: noise level removed! (was set to 0 so far!)
 
 
     ## Select kernel