diff --git a/libs/qwt/qwt_math.h b/libs/qwt/qwt_math.h
index 15a7fa6..305b220 100644
--- a/libs/qwt/qwt_math.h
+++ b/libs/qwt/qwt_math.h
@@ -23,8 +23,8 @@
 
 #else // QT_VERSION >= 0x040000
 
-#define qwtMax qMax
-#define qwtMin qMin
+#define qwtMax(x,y) qMax(qreal(x),qreal(y))
+#define qwtMin(x,y) qMin(qreal(x),qreal(y))
 #define qwtAbs qAbs
 
 #endif
diff --git a/src/ui/designer/QGCXYPlot.cc b/src/ui/designer/QGCXYPlot.cc
index 079e27e..992a715 100644
--- a/src/ui/designer/QGCXYPlot.cc
+++ b/src/ui/designer/QGCXYPlot.cc
@@ -38,10 +38,10 @@ public:
             ymin = ymax = data.y();
             minMaxSet = true;
         } else if(m_autoScale) {
-            xmin = qMin(xmin, data.x());
-            xmax = qMax(xmax, data.x());
-            ymin = qMin(ymin, data.y());
-            ymax = qMax(ymax, data.y());
+            xmin = qMin(qreal(xmin), data.x());
+            xmax = qMax(qreal(xmax), data.x());
+            ymin = qMin(qreal(ymin), data.y());
+            ymax = qMax(qreal(ymax), data.y());
         }
 
         m_data.append(data);
@@ -73,10 +73,10 @@ public:
             xmax = xmin = m_data.at(0).x();
             ymax = ymin = m_data.at(0).y();
             for(int i = 1; i < m_data.size(); i++) {
-                xmin = qMin(xmin, m_data.at(i).x());
-                xmax = qMax(xmax, m_data.at(i).x());
-                ymin = qMin(ymin, m_data.at(i).y());
-                ymax = qMax(ymax, m_data.at(i).y());
+                xmin = qMin(qreal(xmin), m_data.at(i).x());
+                xmax = qMax(qreal(xmax), m_data.at(i).x());
+                ymin = qMin(qreal(ymin), m_data.at(i).y());
+                ymax = qMax(qreal(ymax), m_data.at(i).y());
             }
         }
     }