diff --git a/src/ui/designer/RCChannelWidget.cc b/src/ui/designer/RCChannelWidget.cc
index dd1a2dbeb83066dd9e456d77f335534b56d6e3fc..eb6493ab04f55a4576b76eb6736f6b2fd21b3e0b 100644
--- a/src/ui/designer/RCChannelWidget.cc
+++ b/src/ui/designer/RCChannelWidget.cc
@@ -37,6 +37,8 @@ RCChannelWidget::RCChannelWidget(QWidget *parent) :
     _min(_centerValue),
     _max(_centerValue),
     _trim(_centerValue),
+    _minValid(false),
+    _maxValid(false),
     _showMinMax(false),
     _showTrim(false)
 {
@@ -90,19 +92,36 @@ void RCChannelWidget::paintEvent(QPaintEvent *event)
         painter.setBrush(hGradientBrush);
 
         if (_showMinMax) {
+            QString text;
+            
             // Draw the Min numeric value display to the left
             painter.drawText(0, rowHeigth, minMaxDisplayWidth, fontHeight, Qt::AlignHCenter | Qt::AlignBottom, "Min");
-            painter.drawText(0, rowHeigth * 2, minMaxDisplayWidth, fontHeight, Qt::AlignHCenter | Qt::AlignBottom, QString::number(_min));
+            if (_minValid) {
+                text = QString::number(_min);
+            } else {
+                text = "----";
+            }
+            painter.drawText(0, rowHeigth * 2, minMaxDisplayWidth, fontHeight, Qt::AlignHCenter | Qt::AlignBottom, text);
 
             // Draw the Max numeric value display to the right
             painter.drawText(width() - minMaxDisplayWidth, rowHeigth, minMaxDisplayWidth, fontHeight, Qt::AlignHCenter | Qt::AlignBottom, "Max");
-            painter.drawText(width() - minMaxDisplayWidth, rowHeigth * 2, minMaxDisplayWidth, fontHeight, Qt::AlignHCenter | Qt::AlignBottom, QString::number(_max));
+            if (_maxValid) {
+                text = QString::number(_max);
+            } else {
+                text = QString::number(_max);
+            }
+            painter.drawText(width() - minMaxDisplayWidth, rowHeigth * 2, minMaxDisplayWidth, fontHeight, Qt::AlignHCenter | Qt::AlignBottom, text);
             
             // Draw the Min/Max tick marks on the axis
-            int xTick = rcValueAxis.left() + (rcValueAxis.width() * ((float)(_min-_minRange) / (_maxRange-_minRange)));
-            painter.drawLine(xTick, rcValueAxis.top(), xTick, rcValueAxis.bottom());
-            xTick = rcValueAxis.left() + (rcValueAxis.width() * ((float)(_max-_minRange) / (_maxRange-_minRange)));
-            painter.drawLine(xTick, rcValueAxis.top(), xTick, rcValueAxis.bottom());
+            int xTick;
+            if (_minValid) {
+                int xTick = rcValueAxis.left() + (rcValueAxis.width() * ((float)(_min-_minRange) / (_maxRange-_minRange)));
+                painter.drawLine(xTick, rcValueAxis.top(), xTick, rcValueAxis.bottom());
+            }
+            if (_maxValid) {
+                xTick = rcValueAxis.left() + (rcValueAxis.width() * ((float)(_max-_minRange) / (_maxRange-_minRange)));
+                painter.drawLine(xTick, rcValueAxis.top(), xTick, rcValueAxis.bottom());
+            }
         }
         
         if (_showTrim) {
@@ -221,3 +240,17 @@ void RCChannelWidget::_drawValuePointer(QPainter* painter, int xTip, int yTip, i
     
     painter->drawPolygon (trianglePoints, 3);
 }
+
+/// @brief Set whether the Min range value is valid or not.
+void RCChannelWidget::setMinValid(bool valid)
+{
+    _minValid = valid;
+    update();
+}
+
+/// @brief Set whether the Max range value is valid or not.
+void RCChannelWidget::setMaxValid(bool valid)
+{
+    _maxValid = valid;
+    update();
+}
diff --git a/src/ui/designer/RCChannelWidget.h b/src/ui/designer/RCChannelWidget.h
index 9040760edb6ce89e557228615903c911b375d25f..254cb3e46779ef1c3b30f133134adf8249e664b5 100644
--- a/src/ui/designer/RCChannelWidget.h
+++ b/src/ui/designer/RCChannelWidget.h
@@ -46,6 +46,12 @@ public:
     
     void setMinMax(int min, int max);
     
+    /// @brief Set whether the Min range value is valid or not.
+    void setMinValid(bool valid);
+
+    /// @brief Set whether the Max range value is valid or not.
+    void setMaxValid(bool valid);
+    
     /// @brief Sets the Trim value for the channel
     void setTrim(int value);
     
@@ -56,6 +62,8 @@ public:
 
     void showMinMax(bool show);
     bool isMinMaxShown() { return _showMinMax; }
+    bool isMinValid(void) { return _minValid; }
+    bool isMaxValid(void) { return _maxValid; }
     
     void showTrim(bool show);
     bool isTrimShown() { return _showTrim; }
@@ -71,6 +79,9 @@ private:
     int _max;           ///< Max RC value
     int _trim;          ///< RC Value for Trim position
     
+    bool _minValid;     ///< true: minimum value is valid
+    bool _maxValid;     ///< true: maximum value is valid
+    
     bool _showMinMax;   ///< true: show min max values on display
     bool _showTrim;     ///< true: show trim value on display