diff --git a/source/ArmarXGui/gui-plugins/StatechartViewerPlugin/view/StateItem.cpp b/source/ArmarXGui/gui-plugins/StatechartViewerPlugin/view/StateItem.cpp
index 011de9812656002a943a65c85a236e68f99fb2f3..f39866bc8befc4721e71763ab5cb9331eab72bad 100644
--- a/source/ArmarXGui/gui-plugins/StatechartViewerPlugin/view/StateItem.cpp
+++ b/source/ArmarXGui/gui-plugins/StatechartViewerPlugin/view/StateItem.cpp
@@ -281,11 +281,14 @@ namespace armarx
                     break;
                 }
 
-                StateItem* substateItem = it.value();
-                //        substateItem->setParentItem(0);
-                substateItem->scene()->removeItem(substateItem);
-                substateItem->deleteLater();
+                QPointer<StateItem> substateItem = it.value();
                 subStates.remove(substate);
+                //        substateItem->setParentItem(0);
+                if (substateItem)
+                {
+                    substateItem->scene()->removeItem(substateItem);
+                    substateItem->deleteLater();
+                }
             }
             break;
 
diff --git a/source/ArmarXGui/gui-plugins/StatechartViewerPlugin/view/StateItem.h b/source/ArmarXGui/gui-plugins/StatechartViewerPlugin/view/StateItem.h
index f4662b453ff7d5112b7e222ce9a9f7cfcae7cfbf..b95387a1e361c9ad133305d66c542ee4304df247 100644
--- a/source/ArmarXGui/gui-plugins/StatechartViewerPlugin/view/StateItem.h
+++ b/source/ArmarXGui/gui-plugins/StatechartViewerPlugin/view/StateItem.h
@@ -15,9 +15,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  *
- * @package    
- * @author     
- * @date       
+ * @package
+ * @author
+ * @date
  * @copyright  http://www.gnu.org/licenses/gpl-2.0.txt
  *             GNU General Public License
  */
@@ -31,6 +31,7 @@
 #include <ArmarXCore/core/logging/Logging.h>
 
 #include <QGraphicsWidget>
+#include <QPointer>
 
 #include <boost/shared_ptr.hpp>
 
@@ -107,7 +108,7 @@ namespace armarx
         QWidget* subWidget;
         StateScene* stateScene;
         statechartmodel::StateInstancePtr state;
-        typedef QMap<statechartmodel::StateInstancePtr, StateItem*> StateInstanceItemMap;
+        typedef QMap<statechartmodel::StateInstancePtr, QPointer<StateItem>> StateInstanceItemMap;
         StateInstanceItemMap subStates;
         QString instanceName;
         QMap<statechartmodel::TransitionCPtr, TransitionItem*> transitions;