diff --git a/GUI/Model/FromCore/ItemizeSimulation.cpp b/GUI/Model/FromCore/ItemizeSimulation.cpp
index 20ebf344f46c3ea72905608bf5c3d3c5c07b57a2..2063d46aa2d2ca20eeda8a4b5f218628da1d273f 100644
--- a/GUI/Model/FromCore/ItemizeSimulation.cpp
+++ b/GUI/Model/FromCore/ItemizeSimulation.cpp
@@ -229,7 +229,7 @@ void addRangedDistributionToItem(BeamDistributionItem* distributionItem,
         return;
     ParameterDistribution par_distr(ParameterDistribution::None,
                                     *ranged.distribution(mean, std_dev), ranged.nSamples(),
-                                    ranged.sigmaFactor(), ranged.limits());
+                                    ranged.sigmaFactor());
     setItemFromSample(distributionItem, par_distr);
 }
 
diff --git a/Param/Distrib/RangedDistributions.cpp b/Param/Distrib/RangedDistributions.cpp
index 06d48def61a1c3349b352b3abb14d38db0165a13..0bf888be0c2ab850fee7ad946aa32a6c379ca6e5 100644
--- a/Param/Distrib/RangedDistributions.cpp
+++ b/Param/Distrib/RangedDistributions.cpp
@@ -35,20 +35,13 @@ const double gate_stddev_factor = 2.0 * std::sqrt(3.0);
 //  interface IRangedDistribution
 //  ************************************************************************************************
 
-IRangedDistribution::IRangedDistribution(size_t n_samples, double sigma_factor,
-                                         const RealLimits& limits)
+IRangedDistribution::IRangedDistribution(size_t n_samples, double sigma_factor)
     : m_n_samples(n_samples)
     , m_sigma_factor(sigma_factor)
-    , m_limits(limits)
 {
     checkInitialization();
 }
 
-IRangedDistribution::IRangedDistribution(size_t n_samples, double sigma_factor)
-    : IRangedDistribution(n_samples, sigma_factor, RealLimits::limitless())
-{
-}
-
 IRangedDistribution::~IRangedDistribution() = default;
 
 std::vector<ParameterSample> IRangedDistribution::generateSamples(double mean, double stddev) const
@@ -58,7 +51,7 @@ std::vector<ParameterSample> IRangedDistribution::generateSamples(double mean, d
     ASSERT(stddev > 0);
 
     auto generator = distribution(mean, stddev);
-    return generator->equidistantSamples(m_n_samples, m_sigma_factor, m_limits);
+    return generator->equidistantSamples(m_n_samples, m_sigma_factor);
 }
 
 IDistribution1D* IRangedDistribution::distribution(double mean, double stddev) const
@@ -76,13 +69,6 @@ void IRangedDistribution::checkInitialization()
     if (m_sigma_factor < 0.0)
         throw std::runtime_error("Error in IRangedDistribution::checkInitialization: sigma factor "
                                  "shall be non-negative.");
-
-    if (!m_limits.hasLowerAndUpperLimits())
-        return;
-
-    if (m_limits.lowerLimit() >= m_limits.upperLimit())
-        throw std::runtime_error("Error in IRangedDistribution::checkInitialization: lower limit "
-                                 "shall not exceed the upper one.");
 }
 
 //  ************************************************************************************************
@@ -181,9 +167,6 @@ std::string RangedDistributionLogNormal::name() const
 IDistribution1D* RangedDistributionLogNormal::distribution_impl(double mean, double stddev) const
 {
     const double mean_2 = mean * mean;
-    if (mean_2 <= std::numeric_limits<double>::min())
-        throw std::runtime_error("Error in DistributionLogNormal::distribution: mean square value "
-                                 "is less or indistinguishable from zero.");
 
     const double scale = std::sqrt(std::log(stddev * stddev / mean_2 + 1.0));
     const double median = mean * std::exp(-scale * scale / 2.0);
diff --git a/Param/Distrib/RangedDistributions.h b/Param/Distrib/RangedDistributions.h
index a9245ac64d92f7ea9e3f2d6bf4150bcb632bf125..e47de972d5a3c4f26b5a4dd130cf4e4a04738d6b 100644
--- a/Param/Distrib/RangedDistributions.h
+++ b/Param/Distrib/RangedDistributions.h
@@ -48,11 +48,6 @@ public:
 
     // getters
 
-    //! Returns current limits of the distribution
-    RealLimits limits() const
-    {
-        return m_limits;
-    }
     //! Returns sigma factor to use during sampling
     double sigmaFactor() const
     {
@@ -66,16 +61,10 @@ public:
 
     // setters
 
-    void setLimits(const RealLimits& limits)
-    {
-        m_limits = limits;
-    }
-
     //! Returns distribution name for python-formatted text.
     virtual std::string name() const = 0;
 
 protected:
-    IRangedDistribution(size_t n_samples, double sigma_factor, const RealLimits& limits);
     //! Returns underlying IDistribution1D object
     virtual IDistribution1D* distribution_impl(double mean, double stddev) const = 0;
 
@@ -84,7 +73,6 @@ private:
 
     size_t m_n_samples;
     double m_sigma_factor;
-    RealLimits m_limits;
 #endif // SWIG
 };
 
diff --git a/Sim/Export/PyFmt2.cpp b/Sim/Export/PyFmt2.cpp
index 6e213c82aab6e76d9e7c56df8376a80aa959049b..7d6c44cffd709a903b5eed38dbb985dbce053330 100644
--- a/Sim/Export/PyFmt2.cpp
+++ b/Sim/Export/PyFmt2.cpp
@@ -116,8 +116,7 @@ std::string printParameterDistribution(const ParameterDistribution& par_distr,
 
     result << "ba.ParameterDistribution(ba." << par_distr.whichParameterAsPyEnum() << ", "
            << distVarName << ", " << par_distr.nDraws() << ", "
-           << Py::Fmt::printDouble(par_distr.sigmaFactor())
-           << Py::Fmt::printRealLimitsArg(par_distr.getLimits(), units) << ")";
+           << Py::Fmt::printDouble(par_distr.sigmaFactor()) << ")";
 
     return result.str();
 }
@@ -127,10 +126,7 @@ std::string printRangedDistribution(const IRangedDistribution& distr)
     std::ostringstream result;
     result << Py::Fmt::indent() << "distribution = ba.";
     result << distr.name();
-    result << "(" << distr.nSamples() << ", " << Py::Fmt::printDouble(distr.sigmaFactor());
-    if (!distr.limits().isLimitless())
-        result << Py::Fmt::printRealLimitsArg(distr.limits());
-    result << ")";
+    result << "(" << distr.nSamples() << ", " << Py::Fmt::printDouble(distr.sigmaFactor()) << ")";
     return result.str();
 }
 
diff --git a/Tests/Unit/Sim/PythonFormattingTest.cpp b/Tests/Unit/Sim/PythonFormattingTest.cpp
index 2c73849deac9c103cc5a8c3c7a42fbb65a931f26..28279565f2e2b05c911bfd1965107a71103b43f5 100644
--- a/Tests/Unit/Sim/PythonFormattingTest.cpp
+++ b/Tests/Unit/Sim/PythonFormattingTest.cpp
@@ -120,27 +120,6 @@ TEST(PythonFormattingTest, printParameterDistribution)
     // No RealLimits defined
     EXPECT_EQ(Py::Fmt2::printParameterDistribution(dist, "distr_1"),
               "ba.ParameterDistribution(ba.ParameterDistribution.BeamWavelength, distr_1, 5, 2.0)");
-
-    // RealLimits defined, units unknown
-    ParameterDistribution dist2(ParameterDistribution::BeamWavelength, gate, 5, 2.0,
-                                RealLimits::limited(1.0, 2.0));
-    EXPECT_EQ(Py::Fmt2::printParameterDistribution(dist2, "distr_1"),
-              "ba.ParameterDistribution(ba.ParameterDistribution.BeamWavelength, distr_1, "
-              "5, 2.0, ba.RealLimits.limited(1.0, 2.0))");
-
-    // RealLimits defined, units explicitly set
-    ParameterDistribution dist3(ParameterDistribution::BeamWavelength, gate, 5, 2.0,
-                                RealLimits::limited(1.0, 2.0));
-    EXPECT_EQ(Py::Fmt2::printParameterDistribution(dist3, "distr_1", "nm"),
-              "ba.ParameterDistribution(ba.ParameterDistribution.BeamWavelength, distr_1, "
-              "5, 2.0, ba.RealLimits.limited(1*nm, 2*nm))");
-
-    // RealLimits defined, checking that method guess radians units correctly
-    ParameterDistribution dist4(ParameterDistribution::BeamAzimuthalAngle, gate, 5, 2.0,
-                                RealLimits::limited(1.0 * Units::deg, 2.0 * Units::deg));
-    EXPECT_EQ(Py::Fmt2::printParameterDistribution(dist4, "distr_1", "rad"),
-              "ba.ParameterDistribution(ba.ParameterDistribution.BeamAzimuthalAngle, "
-              "distr_1, 5, 2.0, ba.RealLimits.limited(1*deg, 2*deg))");
 }
 
 TEST(PythonFormattingTest, printLayerRoughness)