diff --git a/src/gui/qgsrasterlayersaveasdialog.cpp b/src/gui/qgsrasterlayersaveasdialog.cpp
index 46bd9a8e49e..b68f907d3c6 100644
--- a/src/gui/qgsrasterlayersaveasdialog.cpp
+++ b/src/gui/qgsrasterlayersaveasdialog.cpp
@@ -251,10 +251,10 @@ void QgsRasterLayerSaveAsDialog::setOutputExtent( const QgsRectangle& r, const Q
     extent = ct.transformBoundingBox( r );
   }
 
-  mXMinLineEdit->setText( QString::number( extent.xMinimum() ) );
-  mXMaxLineEdit->setText( QString::number( extent.xMaximum() ) );
-  mYMinLineEdit->setText( QString::number( extent.yMinimum() ) );
-  mYMaxLineEdit->setText( QString::number( extent.yMaximum() ) );
+  mXMinLineEdit->setText( QgsRasterInterface::printValue( extent.xMinimum() ) );
+  mXMaxLineEdit->setText( QgsRasterInterface::printValue( extent.xMaximum() ) );
+  mYMinLineEdit->setText( QgsRasterInterface::printValue( extent.yMinimum() ) );
+  mYMaxLineEdit->setText( QgsRasterInterface::printValue( extent.yMaximum() ) );
 
   mExtentState = state;
   extentChanged();
diff --git a/src/providers/wcs/qgswcscapabilities.cpp b/src/providers/wcs/qgswcscapabilities.cpp
index c15ec936aa7..7a5b9a3823e 100644
--- a/src/providers/wcs/qgswcscapabilities.cpp
+++ b/src/providers/wcs/qgswcscapabilities.cpp
@@ -762,6 +762,7 @@ bool QgsWcsCapabilities::parseDescribeCoverageDom10( QByteArray const &xml, QgsW
     QList<int> high = parseInts( domElementText( gridElement, "limits.GridEnvelope.high" ) );
     if ( low.size() == 2 && high.size() == 2 )
     {
+      // low/high are indexes in grid -> size is hight - low + 1
       double width = high[0] - low[0] + 1;
       double height = high[1] - low[1] + 1;
       if ( width > 0 && height > 0 )
diff --git a/src/providers/wcs/qgswcsprovider.cpp b/src/providers/wcs/qgswcsprovider.cpp
index acf1dbbc981..044ca6b020c 100644
--- a/src/providers/wcs/qgswcsprovider.cpp
+++ b/src/providers/wcs/qgswcsprovider.cpp
@@ -171,11 +171,14 @@ QgsWcsProvider::QgsWcsProvider( QString const &uri )
   // in that case we continue without CRS and user is asked for it
   //if ( mCoverageCrs.isEmpty() ) return;
 
+  // Native size
   mWidth = mCoverageSummary.width;
   mHeight = mCoverageSummary.height;
   mHasSize = mCoverageSummary.hasSize;
 
-  QgsDebugMsg( QString( "mWidth = %1 mHeight = %2" ).arg( mWidth ).arg( mHeight ) ) ;
+  QgsDebugMsg( QString( "mWidth = %1 mHeight = %2" ).arg( mWidth ).arg( mHeight ) );
+
+  // TODO: Consider if/how to recalculate mWidth, mHeight if non native CRS is used
 
   if ( !calculateExtent() )
   {
@@ -1288,7 +1291,8 @@ bool QgsWcsProvider::calculateExtent()
   // Prefer to use extent from capabilities / coverage description because
   // transformation from WGS84 increases the extent
   mCoverageExtent = mCoverageSummary.boundingBoxes.value( mCoverageCrs );
-  if ( !mCoverageExtent.isEmpty() && !mCoverageExtent.isFinite() )
+  QgsDebugMsg( "mCoverageCrs = " + mCoverageCrs + " mCoverageExtent = " + mCoverageExtent.toString() );
+  if ( !mCoverageExtent.isEmpty() && mCoverageExtent.isFinite() )
   {
     QgsDebugMsg( "mCoverageExtent = " + mCoverageExtent.toString() );
     return true;
@@ -1308,9 +1312,11 @@ bool QgsWcsProvider::calculateExtent()
     //QgsDebugMsg( "qgisSrsDest: " + qgisSrsDest.toWkt() );
 
     mCoordinateTransform = new QgsCoordinateTransform( qgisSrsSource, qgisSrsDest );
+
   }
 
   QgsDebugMsg( "mCoverageSummary.wgs84BoundingBox= " + mCoverageSummary.wgs84BoundingBox.toString() );
+
   // Convert to the user's CRS as required
   try
   {