diff --git a/src/bayesvalidrox/surrogate_models/exp_designs.py b/src/bayesvalidrox/surrogate_models/exp_designs.py
index 94f41469cf251e95e4962a066ac8b6ffb604794c..f588b6bc384444eb0b03f980782b14a7c627bc56 100644
--- a/src/bayesvalidrox/surrogate_models/exp_designs.py
+++ b/src/bayesvalidrox/surrogate_models/exp_designs.py
@@ -485,10 +485,18 @@ class ExpDesigns:
             # Check if all samples are in the bound_tuples
             for idx, param_set in enumerate(samples):
                 if not self._check_ranges(param_set, self.bound_tuples):
-                    proposed_sample = self.JDist.resample(1).T[0]
+                    try:
+                        proposed_sample = chaospy.generate_samples(
+                            1, domain=self.JDist, rule='random').T[0]
+                    except:
+                        proposed_sample = self.JDist.resample(1).T[0]
                     while not self._check_ranges(proposed_sample,
                                                  self.bound_tuples):
-                        proposed_sample = self.JDist.resample(1).T[0]
+                        try:
+                            proposed_sample = chaospy.generate_samples(
+                                1, domain=self.JDist, rule='random').T[0]
+                        except:
+                            proposed_sample = self.JDist.resample(1).T[0]
                     samples[idx] = proposed_sample
 
         return samples