diff --git a/modules/gui/src/sequence/sequence_model.cc b/modules/gui/src/sequence/sequence_model.cc
index 7622af1d4225c3f1e96b2351217325653e9aa7c6..dc26ce348841621fa3d330fce38e83d1f9c7a062 100644
--- a/modules/gui/src/sequence/sequence_model.cc
+++ b/modules/gui/src/sequence/sequence_model.cc
@@ -107,7 +107,7 @@ void SequenceModel::RemoveGfxEntity(gfx::EntityP& entity){
     int cols_before = this->columnCount();
     objects_.removeOne(obj);
     this->endRemoveRows();
-    int cols = this->columnCount();
+    int cols = this->GetColumnCount();
     if(cols_before>cols){
       this->max_columns = cols;
       this->beginRemoveColumns(QModelIndex(), cols, cols_before);
@@ -116,6 +116,17 @@ void SequenceModel::RemoveGfxEntity(gfx::EntityP& entity){
   }
 }
 
+int SequenceModel::GetColumnCount() const{
+  int cols = 0;
+  for(int i = 0; i<objects_.size();i++){
+    int ob_cols = objects_[i]->GetMaxColumnCount();
+    if(ob_cols>cols){
+      cols = ob_cols;
+    }
+  }
+  return cols;
+}
+
 SequenceViewObject* SequenceModel::GetItem(gfx::EntityP& entity){
   if(entity != NULL){
     for (int i = 0 ; i< objects_.size(); i++){
diff --git a/modules/gui/src/sequence/sequence_model.hh b/modules/gui/src/sequence/sequence_model.hh
index 2bf6f9fd41fcf50a4e7baa40396403d62f6b3476..98cbe3aa4d47476f133e7cdcae9592a92246b016 100644
--- a/modules/gui/src/sequence/sequence_model.hh
+++ b/modules/gui/src/sequence/sequence_model.hh
@@ -78,6 +78,7 @@ public slots:
   void SelectionChanged(const QItemSelection& sel, const QItemSelection& desel);
 
 private:
+  int GetColumnCount() const;
   SequenceViewObject* GetItem(gfx::EntityP& entity);
   BaseViewObject* GetItem(const QModelIndex& index) const;
   QPair<int, BaseViewObject*> GetRowWithItem(int row) const;