diff --git a/Modules/Visualization/MonteverdiCore/include/mvdStackedLayerModel.h b/Modules/Visualization/MonteverdiCore/include/mvdStackedLayerModel.h
index 8291038e1582a193cf7bc3534ec0834c145a1c59..328872bb95d90b7e084f1d86229eb25e2940cce7 100644
--- a/Modules/Visualization/MonteverdiCore/include/mvdStackedLayerModel.h
+++ b/Modules/Visualization/MonteverdiCore/include/mvdStackedLayerModel.h
@@ -212,6 +212,7 @@ public:
 // Public SLOTS.
 public slots:
   void Clear();
+  void Deleting( unsigned int index );
   inline void Delete( const KeyType & );
   inline void DeleteCurrent();
   inline void LowerCurrent();
diff --git a/Modules/Visualization/MonteverdiCore/src/mvdStackedLayerModel.cxx b/Modules/Visualization/MonteverdiCore/src/mvdStackedLayerModel.cxx
index c4d050b792d0e318ce71a5f884206bcd284c5e1c..14d1d2ec410196685055e564cf775011fd968aa6 100644
--- a/Modules/Visualization/MonteverdiCore/src/mvdStackedLayerModel.cxx
+++ b/Modules/Visualization/MonteverdiCore/src/mvdStackedLayerModel.cxx
@@ -220,9 +220,9 @@ StackedLayerModel
 /*****************************************************************************/
 void
 StackedLayerModel
-::Delete( SizeType index )
+::Deleting( unsigned int index )
 {
-  // qDebug() << this << "::Delete(" << index << ")";
+    // qDebug() << this << "::Delete(" << index << ")";
 
 
   //
@@ -297,7 +297,7 @@ StackedLayerModel
       index>m_Reference
       ? m_Reference
       : ( m_Reference > 0
-	  ? m_Reference - 1
+    ? m_Reference - 1
           : GetCount() > 0 ? 0 : StackedLayerModel::NIL_INDEX ),
       true
     );
@@ -309,8 +309,14 @@ StackedLayerModel
     delete layer;
     layer = NULL;
     }
+}
 
-  //
+void
+StackedLayerModel
+::Delete( SizeType index )
+{
+  // the work of deleting model is now done in the above function
+  // Deleting(unsigned int index)
   // Emit signals.
   emit LayerDeleted( index );
   emit ContentChanged();
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdLayerStackItemModel.h b/Modules/Visualization/MonteverdiGui/include/mvdLayerStackItemModel.h
index 44b557b5cd080058c59b5dc707935a6317fca577..16ce4d96b631163afed5a6574b74f168d6808d3a 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdLayerStackItemModel.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdLayerStackItemModel.h
@@ -255,6 +255,9 @@ public slots:
 //
 // Signals.
 signals:
+  
+  //Bugfix for layer deletion
+  void LayerDeletingModel( unsigned int index);
 
   /*-[ PROTECTED SECTION ]---------------------------------------------------*/
 
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdLayerStackWidget.h b/Modules/Visualization/MonteverdiGui/include/mvdLayerStackWidget.h
index 1bf94f8fd34f040bcd0c1bf03fd74d103b81666a..b8b7589f790210e3a9d9256f70a07ea3a0f5dc9d 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdLayerStackWidget.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdLayerStackWidget.h
@@ -159,6 +159,10 @@ public slots:
 //
 // Signals.
 signals:
+  /**
+  */
+  //bugFix for layer deletion
+  void LayerDeletingWidget( unsigned int index );
   /**
    */
   void CurrentChanged( int );
diff --git a/Modules/Visualization/MonteverdiGui/src/mvdLayerStackController.cxx b/Modules/Visualization/MonteverdiGui/src/mvdLayerStackController.cxx
index be763b0d3234d8c7ceac7631ce20bf429e8f61bf..d5a2763217737ff12de1bcb0180800368f88c870 100644
--- a/Modules/Visualization/MonteverdiGui/src/mvdLayerStackController.cxx
+++ b/Modules/Visualization/MonteverdiGui/src/mvdLayerStackController.cxx
@@ -150,6 +150,14 @@ LayerStackController
     SLOT( OnProjectionButtonClicked() )
   );  
 
+//bugfix for layer deletion
+  QObject::connect(
+    widget,
+    SIGNAL( LayerDeletingWidget( unsigned int ) ),
+    // to:
+    model,
+    SLOT( Deleting( unsigned int ) )
+  );
 
   QObject::connect(
     widget,
@@ -243,7 +251,7 @@ LayerStackController
   QObject::disconnect(
     model,
     SIGNAL( CurrentChanged( size_t ) ),
-    // from:
+    // from:deletin
     this,
     SLOT( OnStackedLayerCurrentChanged( size_t ) )
   );
@@ -289,6 +297,14 @@ LayerStackController
     SLOT( OnProjectionButtonClicked() )
   );  
 
+  //Bugfix for layer deletion
+  QObject::disconnect(
+    widget,
+    SIGNAL( LayerDeletingWidget( unsigned int ) ),
+    // to:
+    model,
+    SLOT( Deleting( unsigned int ) )
+  );
 
   QObject::disconnect(
     widget,
diff --git a/Modules/Visualization/MonteverdiGui/src/mvdLayerStackItemModel.cxx b/Modules/Visualization/MonteverdiGui/src/mvdLayerStackItemModel.cxx
index cc073ecd5faf604eb108b92a48e7eccfde4e58c6..4e7d0f927818ae54fd0efe504c97560af4be6d2b 100644
--- a/Modules/Visualization/MonteverdiGui/src/mvdLayerStackItemModel.cxx
+++ b/Modules/Visualization/MonteverdiGui/src/mvdLayerStackItemModel.cxx
@@ -791,10 +791,11 @@ LayerStackItemModel
 
   beginRemoveRows( p, row, row + count - 1 );
   {
-  // StackedLayerModel has already been shortened.
-
+  // StackedLayerModel need to be shortened now
+  emit LayerDeletingModel(row);
   // TODO: Release additional row data here.
   }
+
   endRemoveRows();
 
   return true;
diff --git a/Modules/Visualization/MonteverdiGui/src/mvdLayerStackWidget.cxx b/Modules/Visualization/MonteverdiGui/src/mvdLayerStackWidget.cxx
index 5a245fa83283f46e63f7cceb17de266ccbd285ba..8dbe3ec118c6d04e564da6017f6b4fdc38db9a50 100644
--- a/Modules/Visualization/MonteverdiGui/src/mvdLayerStackWidget.cxx
+++ b/Modules/Visualization/MonteverdiGui/src/mvdLayerStackWidget.cxx
@@ -192,6 +192,16 @@ LayerStackWidget
     this,
     SIGNAL( ResetEffectsButtonClicked() )
   );
+
+  /////// Bugfix for layer deletion
+  QObject::connect(
+    this->GetItemModel(),
+    SIGNAL( LayerDeletingModel( unsigned int ) ),
+    // to:
+    this,
+    SIGNAL( LayerDeletingWidget( unsigned int) )
+    );
+  ///////////////
 }
 
 /*******************************************************************************/