diff --git a/GUI/Model/Descriptor/DistributionItems.cpp b/GUI/Model/Descriptor/DistributionItems.cpp
index 8e8e2535dc428bca5f9a6239c3e279095327d705..b40fbaa52ac18ccfa54f11a69c6679bc39b16162 100644
--- a/GUI/Model/Descriptor/DistributionItems.cpp
+++ b/GUI/Model/Descriptor/DistributionItems.cpp
@@ -44,11 +44,6 @@ using std::variant;
 
 DistributionItem::DistributionItem() {}
 
-void DistributionItem::setLimits(const RealLimits& limits)
-{
-    m_limits = limits;
-}
-
 void DistributionItem::initSigmaFactor()
 {
     m_sigmaFactor.init("Sigma factor", "", 2.0, Unit::unitless, "sigmaFactor");
@@ -63,7 +58,7 @@ void DistributionItem::writeTo(QXmlStreamWriter* w) const
 {
     XML::writeAttribute(w, XML::Attrib::version, uint(1));
 
-    // m_limits and a changed unit (with setUnit) will not be serialized here. They have to be set
+    // a changed unit (with setUnit) will not be serialized here. They have to be set
     // again by the owner of DistributionItem after reading it
 
     // number of samples
@@ -115,12 +110,6 @@ void SymmetricResolutionItem::setUnit(const variant<QString, Unit>& unit)
     m_mean.setUnit(unit);
 }
 
-void SymmetricResolutionItem::setLimits(const RealLimits& limits)
-{
-    DistributionItem::setLimits(limits);
-    m_mean.setLimits(limits);
-}
-
 void SymmetricResolutionItem::setMeanDecimals(uint d)
 {
     m_mean.setDecimals(d);
@@ -325,7 +314,6 @@ void DistributionLorentzItem::initDistribution(double value)
 
     setMean(value);
     setHwhm(hw);
-    m_hwhm.setLimits(RealLimits::lowerLimited(0.0));
 }
 
 void DistributionLorentzItem::writeTo(QXmlStreamWriter* w) const
diff --git a/GUI/Model/Descriptor/DistributionItems.h b/GUI/Model/Descriptor/DistributionItems.h
index 9497f6ee2cbe32d2255251c8065a00f19a12b606..0d5d9634139e86d1f0f97773f5df1239e4d7bce1 100644
--- a/GUI/Model/Descriptor/DistributionItems.h
+++ b/GUI/Model/Descriptor/DistributionItems.h
@@ -37,9 +37,6 @@ public:
 
     virtual void initDistribution(double) {}
 
-    virtual void setLimits(const RealLimits& limits);
-    RealLimits limits() const { return m_limits; }
-
     //! Set the unit of the distributed value
     virtual void setUnit(const std::variant<QString, Unit>& unit) = 0;
 
@@ -64,8 +61,6 @@ public:
 protected:
     void initSigmaFactor();
 
-    RealLimits m_limits;
-
     uint m_numberOfSamples = 5;
 
     DoubleProperty m_sigmaFactor;
@@ -75,7 +70,6 @@ class SymmetricResolutionItem : public DistributionItem {
 public:
     SymmetricResolutionItem(double mean, int decimals = 3, const QString& meanLabel = "Mean");
     void setUnit(const std::variant<QString, Unit>& unit) override;
-    void setLimits(const RealLimits& limits) override;
 
     DoubleProperty& mean() { return m_mean; }
     const DoubleProperty& mean() const { return m_mean; }
diff --git a/GUI/Model/Device/BeamAngleItems.cpp b/GUI/Model/Device/BeamAngleItems.cpp
index a2501e9cd234fc4192f2c4cdb7576115ec5cbd41..d41bbadf84f0addf6c389d3aa93f48b563ed8324 100644
--- a/GUI/Model/Device/BeamAngleItems.cpp
+++ b/GUI/Model/Device/BeamAngleItems.cpp
@@ -26,14 +26,12 @@ void BeamAzimuthalAngleItem::readFrom(QXmlStreamReader* r)
     // Here we only directly call parental method, so no versioning
     BeamDistributionItem::readFrom(r);
 
-    m_distribution->setLimits(RealLimits::limited(-90.0, 90.0));
     m_distribution->setUnit(Unit::degree);
 }
 
 void BeamAzimuthalAngleItem::initDistribution(DistributionItem* newDistribution,
                                               const DistributionItem* currentDistribution)
 {
-    newDistribution->setLimits(RealLimits::limited(-90.0, 90.0));
     newDistribution->setUnit(Unit::degree);
 
     double meanVal = 0.0;
@@ -71,7 +69,6 @@ void BeamInclinationAngleItem::readFrom(QXmlStreamReader* r)
     // Here we only directly call parental method, so no versioning
     BeamDistributionItem::readFrom(r);
 
-    m_distribution->setLimits(RealLimits::limited(-90.0, 90.0));
     m_distribution->setUnit(Unit::degree);
 }
 
@@ -88,7 +85,6 @@ double BeamInclinationAngleItem::scaleFactor() const
 void BeamInclinationAngleItem::initDistribution(DistributionItem* newDistribution,
                                                 const DistributionItem* currentDistribution)
 {
-    newDistribution->setLimits(RealLimits::limited(-90.0, 90.0));
     newDistribution->setUnit(Unit::degree);
 
     double meanVal = 0.2;
diff --git a/GUI/Model/Device/BeamDistributionItem.cpp b/GUI/Model/Device/BeamDistributionItem.cpp
index d5a98fbaa0e5925ead8e08038bd9fe4d67b86cd6..92f86185aa26f0281046bcd850bb8266b84d2e3f 100644
--- a/GUI/Model/Device/BeamDistributionItem.cpp
+++ b/GUI/Model/Device/BeamDistributionItem.cpp
@@ -60,10 +60,9 @@ std::unique_ptr<ParameterDistribution> BeamDistributionItem::getParameterDistrib
         if (distribution1D) {
             const auto nbrOfSamples = d->numberOfSamples();
             const double sigmaFactor = d->hasSigmaFactor() ? d->sigmaFactor() : 0.0;
-            const auto limits = d->limits().scaledLimits(scaleFactor());
 
             return std::make_unique<ParameterDistribution>(which, *distribution1D, nbrOfSamples,
-                                                           sigmaFactor, limits);
+                                                           sigmaFactor);
         }
     }
     return {};
diff --git a/GUI/Model/Device/BeamWavelengthItem.cpp b/GUI/Model/Device/BeamWavelengthItem.cpp
index 054242d2d81b699205b71c110dea12eb44851164..6f4fda43a3ecd861254f64a9fda347edecb43a93 100644
--- a/GUI/Model/Device/BeamWavelengthItem.cpp
+++ b/GUI/Model/Device/BeamWavelengthItem.cpp
@@ -22,7 +22,6 @@ const double default_wl = 0.1;
 void initDistribution(DistributionItem* newDistribution,
                       const DistributionItem* currentDistribution)
 {
-    newDistribution->setLimits(RealLimits::positive());
     newDistribution->setUnit(Unit::nanometer);
 
     double meanVal = default_wl;
@@ -58,7 +57,6 @@ void BeamWavelengthItem::readFrom(QXmlStreamReader* r)
     // Here we only directly call parental method, so no versioning
     BeamDistributionItem::readFrom(r);
 
-    m_distribution->setLimits(RealLimits::positive());
     m_distribution->setUnit(Unit::nanometer);
 }
 
@@ -82,6 +80,5 @@ void SpecularBeamWavelengthItem::setToRange(const RealLimits& limits)
                 limits.isLimited() ? (limits.upperLimit() - limits.lowerLimit()) / 2. : default_wl;
             symmetricDistribution->setMean(new_value);
         }
-        symmetricDistribution->setLimits(limits);
     }
 }
diff --git a/GUI/Model/Device/SpecularBeamInclinationItem.cpp b/GUI/Model/Device/SpecularBeamInclinationItem.cpp
index cdfd84571fffd149c5f0834e9b2fee5d564cdab5..461b5dae3c71eef206a3f8ca35916507fcb01e9b 100644
--- a/GUI/Model/Device/SpecularBeamInclinationItem.cpp
+++ b/GUI/Model/Device/SpecularBeamInclinationItem.cpp
@@ -46,7 +46,6 @@ void setAxisPresentationDefaults(BasicAxisItem* axisItem)
 void initDistribution(DistributionItem* newDistribution,
                       const DistributionItem* currentDistribution)
 {
-    newDistribution->setLimits(RealLimits::limited(-90.0, 90.0));
     newDistribution->setUnit(Unit::degree);
 
     double meanVal = 0.0;
@@ -115,7 +114,6 @@ void SpecularBeamInclinationItem::readFrom(QXmlStreamReader* r)
         // parameters from base class
         if (tag == Tag::BaseData) {
             BeamDistributionItem::readFrom(r);
-            m_distribution->setLimits(RealLimits::limited(-90.0, 90.0));
             m_distribution->setUnit(Unit::degree);
             XML::gotoEndElementOfTag(r, tag);
 
diff --git a/GUI/Model/FromCore/ItemizeSimulation.cpp b/GUI/Model/FromCore/ItemizeSimulation.cpp
index 9302b12ff4060c336d1588cc3d46410fd320649a..20ebf344f46c3ea72905608bf5c3d3c5c07b57a2 100644
--- a/GUI/Model/FromCore/ItemizeSimulation.cpp
+++ b/GUI/Model/FromCore/ItemizeSimulation.cpp
@@ -204,9 +204,6 @@ void setDistribution(BeamDistributionItem* part_distr_item, ParameterDistributio
 
     if (distItem->hasSigmaFactor())
         distItem->setSigmaFactor(par_distr.sigmaFactor());
-
-    // TODO It's wrong if domain distribution made for angles.
-    distItem->setLimits(par_distr.getLimits().scaledLimits(factor));
 }
 
 void setItemFromSample(BeamDistributionItem* beam_distribution_item,
diff --git a/GUI/View/Instrument/DistributionPlot.cpp b/GUI/View/Instrument/DistributionPlot.cpp
index 4b9ba810b0e73210c64241d4671e44c9674be73b..0ed9358e0ca06d3ab0f0b3ec711abf3331d5cd75 100644
--- a/GUI/View/Instrument/DistributionPlot.cpp
+++ b/GUI/View/Instrument/DistributionPlot.cpp
@@ -178,13 +178,10 @@ void DistributionPlot::plot_multiple_values()
     if (m_distItem->hasSigmaFactor())
         sigmafactor = m_distItem->sigmaFactor();
 
-    plotLimits(m_distItem->limits());
-
     auto dist = m_distItem->createDistribution();
 
     // Calculating bars
-    std::vector<double> xp =
-        dist->equidistantPoints(numberOfSamples, sigmafactor, m_distItem->limits());
+    std::vector<double> xp = dist->equidistantPoints(numberOfSamples, sigmafactor);
     std::vector<double> yp(xp.size());
     std::transform(xp.begin(), xp.end(), yp.begin(),
                    [&](double value) { return dist->probabilityDensity(value); });
@@ -268,21 +265,6 @@ void DistributionPlot::plotVerticalLine(double xMin, double yMin, double xMax, d
     line->end->setCoords(xMax, yMax);
 }
 
-//! Plots red line denoting lower and upper limits, if any.
-
-void DistributionPlot::plotLimits(const RealLimits& limits)
-{
-    if (limits.hasLowerLimit()) {
-        double value = limits.lowerLimit();
-        plotVerticalLine(value, default_yrange.first, value, default_yrange.second, Qt::red);
-    }
-
-    if (limits.hasUpperLimit()) {
-        double value = limits.upperLimit();
-        plotVerticalLine(value, default_yrange.first, value, default_yrange.second, Qt::red);
-    }
-}
-
 void DistributionPlot::setXAxisName(const QString& xAxisName)
 {
     m_plot->xAxis->setLabel(xAxisName);
diff --git a/GUI/View/Instrument/DistributionPlot.h b/GUI/View/Instrument/DistributionPlot.h
index c83d325f74962859f72213a45fc8f5e84b0ea0f0..e66a440aa019d14c0cc887a4a2c0750c815eb164 100644
--- a/GUI/View/Instrument/DistributionPlot.h
+++ b/GUI/View/Instrument/DistributionPlot.h
@@ -54,7 +54,6 @@ private:
     void plotFunction(const QVector<double>& xFunc, const QVector<double>& yFunc);
     void plotVerticalLine(double xMin, double yMin, double xMax, double yMax,
                           const QColor& color = Qt::blue);
-    void plotLimits(const RealLimits& limits);
     QPoint positionForCautionSign();
 
     QCustomPlot* m_plot;