diff --git a/Modules/Visualization/Monteverdi/src/mvdMainWindow.cxx b/Modules/Visualization/Monteverdi/src/mvdMainWindow.cxx
index 04a7f758574d15b3b78fc4f698788a4405f47ec4..6292eb8ceed1ccca730ef82c51c70669eb00ab03 100644
--- a/Modules/Visualization/Monteverdi/src/mvdMainWindow.cxx
+++ b/Modules/Visualization/Monteverdi/src/mvdMainWindow.cxx
@@ -1227,8 +1227,19 @@ MainWindow
   if( filenames.isEmpty() )
     return;
 
-  if( !BuildGDALOverviews( filenames ) )
-    return;
+  assert( I18nCoreApplication::Instance()!=NULL );
+
+  {
+    QVariant value(
+      I18nApplication::Instance()->RetrieveSettingsKey(
+	I18nCoreApplication::SETTINGS_KEY_OVERVIEWS_ENABLED
+      )
+    );
+
+    if( !( value.isValid() ? value.toBool() : OVERVIEWS_ENABLED_DEFAULT ) ||
+	!BuildGDALOverviews( filenames ) )
+      return;
+  }
 
   if( filenames.count()==1 )
     ImportImage( filenames.front(), 0 );
diff --git a/Modules/Visualization/MonteverdiGui/src/mvdImportImagesDialog.cxx b/Modules/Visualization/MonteverdiGui/src/mvdImportImagesDialog.cxx
index 98a2970b878b6a83a4dedd7e04ece7f3efd11519..73b848ba0e894d9d3c03a1887d53a654ea2fbadf 100644
--- a/Modules/Visualization/MonteverdiGui/src/mvdImportImagesDialog.cxx
+++ b/Modules/Visualization/MonteverdiGui/src/mvdImportImagesDialog.cxx
@@ -40,6 +40,8 @@
 //
 // Monteverdi includes (sorted by alphabetic order)
 #include "mvdAlgorithm.h"
+#include "mvdCore.h"
+#include "mvdI18nCoreApplication.h"
 
 namespace mvd
 {
@@ -210,7 +212,25 @@ ImportImagesDialog
 
 	flags |= Qt::ItemIsSelectable;
 
-	unsigned int count = builder->CountResolutions( 2, 256 );
+	unsigned int count = 0;
+
+	{
+	  assert( I18nCoreApplication::Instance()!=NULL );
+
+	  QVariant value(
+	    I18nCoreApplication::Instance()->RetrieveSettingsKey(
+	      I18nCoreApplication::SETTINGS_KEY_OVERVIEWS_SIZE
+	    )
+	  );
+
+	  count =
+	    builder->CountResolutions(
+	      2,
+	      value.isValid()
+	      ? value.toInt()
+	      : OVERVIEWS_SIZE_DEFAULT
+	    );
+	}
 
 	if( builder->GetOverviewsCount()>0 )
 	  builder->SetBypassEnabled( true );
diff --git a/Modules/Visualization/MonteverdiGui/src/mvdMultiResolutionPyramidWidget.cxx b/Modules/Visualization/MonteverdiGui/src/mvdMultiResolutionPyramidWidget.cxx
index 267d4f5075ecb3a3cc492577c6bae8c2815e9d04..6ccfea6eb2d47bc72d88df22c80091ebb7840c86 100644
--- a/Modules/Visualization/MonteverdiGui/src/mvdMultiResolutionPyramidWidget.cxx
+++ b/Modules/Visualization/MonteverdiGui/src/mvdMultiResolutionPyramidWidget.cxx
@@ -40,7 +40,9 @@
 
 //
 // Monteverdi includes (sorted by alphabetic order)
+#include "mvdCore.h"
 #include "mvdGui.h"
+#include "mvdI18nCoreApplication.h"
 
 namespace mvd
 {
@@ -237,13 +239,15 @@ MultiResolutionPyramidWidget
   m_UI->baseSpinBox->blockSignals( prevSignalsBlocked );
   }
 
+  unsigned int maxResolutions = m_GDALOverviewsBuilder->CountResolutions();
+
   {
-  bool prevSignalsBlocked = m_UI->levelsSpinBox->blockSignals( true );
+    bool prevSignalsBlocked = m_UI->levelsSpinBox->blockSignals( true );
 
-  m_UI->levelsSpinBox->setRange( 0, m_GDALOverviewsBuilder->CountResolutions() );
-  m_UI->levelsSpinBox->setValue( m_GDALOverviewsBuilder->GetNbResolutions() );
+    m_UI->levelsSpinBox->setRange( 0, maxResolutions );
+    m_UI->levelsSpinBox->setValue( m_GDALOverviewsBuilder->GetNbResolutions() );
 
-  m_UI->levelsSpinBox->blockSignals( prevSignalsBlocked );
+    m_UI->levelsSpinBox->blockSignals( prevSignalsBlocked );
   }
 
   {
@@ -251,7 +255,8 @@ MultiResolutionPyramidWidget
 
   m_UI->sizeSpinBox->setRange( 1, minSize );
 
-  assert(m_GDALOverviewsBuilder->CountResolutions() >= m_GDALOverviewsBuilder->GetNbResolutions() );
+  assert( maxResolutions >=
+	  m_GDALOverviewsBuilder->GetNbResolutions() );
 
   // Force C++ implicit cast by declaring local variables to force compiler
   // to find correct std::pow() signature.
@@ -260,8 +265,8 @@ MultiResolutionPyramidWidget
   // error: call of pow(unsigned int, unsigned int) is ambiguous
   double rf = m_GDALOverviewsBuilder->GetResolutionFactor();
 
-  int m = 
-    m_GDALOverviewsBuilder->CountResolutions() -
+  unsigned int m = 
+    maxResolutions -
     m_GDALOverviewsBuilder->GetNbResolutions();
 
   m_UI->sizeSpinBox->setValue(