diff --git a/Modules/Python/QmitkPythonVariableStackTableModel.cpp b/Modules/Python/QmitkPythonVariableStackTableModel.cpp
index 352678ba58..6438f61a38 100755
--- a/Modules/Python/QmitkPythonVariableStackTableModel.cpp
+++ b/Modules/Python/QmitkPythonVariableStackTableModel.cpp
@@ -1,190 +1,174 @@
 /*===================================================================
 
 The Medical Imaging Interaction Toolkit (MITK)
 
 Copyright (c) German Cancer Research Center,
 Division of Medical and Biological Informatics.
 All rights reserved.
 
 This software is distributed WITHOUT ANY WARRANTY; without
 even the implied warranty of MERCHANTABILITY or FITNESS FOR
 A PARTICULAR PURPOSE.
 
 See LICENSE.txt or http://www.mitk.org for details.
 
 ===================================================================*/
 
 #include "QmitkPythonVariableStackTableModel.h"
 #include <QMimeData>
 #include <mitkModuleContext.h>
 #include <usServiceReference.h>
 #include <mitkDataNode.h>
 #include <mitkGetModuleContext.h>
 #include <QStringList>
 
-const QString QmitkPythonVariableStackTableModel::m_PythonImagesDictName("images");
-
+const QString QmitkPythonVariableStackTableModel::MITK_IMAGE_VAR_NAME = "mitkImage";
 QmitkPythonVariableStackTableModel::QmitkPythonVariableStackTableModel(QObject *parent)
     :QAbstractTableModel(parent)
 {
     mitk::ModuleContext* context = mitk::GetModuleContext();
     mitk::ServiceReference serviceRef = context->GetServiceReference<mitk::IPythonService>();
     m_PythonService = context->GetService<mitk::IPythonService>(serviceRef);
 }
 
 QmitkPythonVariableStackTableModel::~QmitkPythonVariableStackTableModel()
 {
 }
 
 bool QmitkPythonVariableStackTableModel::dropMimeData ( const QMimeData * data, Qt::DropAction action, int row, int column, const QModelIndex & parent )
 {
     // Early exit, returning true, but not actually doing anything (ignoring data).
     if (action == Qt::IgnoreAction)
         return true;
 
     // Note, we are returning true if we handled it, and false otherwise
     bool returnValue = false;
 
     if(data->hasFormat("application/x-mitk-datanodes"))
     {
         MITK_DEBUG("QmitkPythonVariableStackTableModel") << "dropped MITK DataNode";
         returnValue = true;
 
         QString arg = QString(data->data("application/x-mitk-datanodes").data());
         QStringList listOfDataNodeAddressPointers = arg.split(",");
 
         QStringList::iterator slIter;
+        int i = 0;
         for (slIter = listOfDataNodeAddressPointers.begin();
              slIter != listOfDataNodeAddressPointers.end();
              slIter++)
         {
           long val = (*slIter).toLong();
           mitk::DataNode* node = static_cast<mitk::DataNode *>((void*)val);
           mitk::Image* mitkImage = dynamic_cast<mitk::Image*>(node->GetData());
-
-          QString command = CreateDictionaryCommandIfNecessary();
-
-          m_PythonService->Execute(command, mitk::IPythonService::MULTI_LINE_COMMAND );
-
-          QString varName = GetDictionaryVarNameForNodeName(node->GetName());
+//QString::fromStdString((node->GetName());
+          QString varName = MITK_IMAGE_VAR_NAME;
+          if( i > 0 )
+            varName = QString("%1%2).arg(MITK_IMAGE_VAR_NAME).arg(i);
           MITK_DEBUG("varName") << "varName" << varName;
-          //m_PythonService->CopyToPythonAsItkImage( mitkImage, varName );
+          m_PythonService->CopyToPythonAsItkImage( mitkImage, MITK_IMAGE_VAR_NAME );
+          ++i;
         }
     }
     return returnValue;
 }
 
 QVariant QmitkPythonVariableStackTableModel::headerData(int section, Qt::Orientation orientation,
                                                         int role) const
 {
     QVariant headerData;
 
     // show only horizontal header
     if ( role == Qt::DisplayRole )
     {
         if( orientation == Qt::Horizontal )
         {
             // first column: "Attribute"
             if(section == 0)
                 headerData = "Attribute";
             else if(section == 1)
                 headerData = "Value";
             else if(section == 2)
                 headerData = "Type";
         }
     }
 
     return headerData;
 }
 
 Qt::ItemFlags QmitkPythonVariableStackTableModel::flags(const QModelIndex &index) const
 {
     Qt::ItemFlags flags = QAbstractItemModel::flags(index);
 
     if(index.isValid())
         return Qt::ItemIsDragEnabled | Qt::ItemIsDropEnabled | flags;
     else
         return Qt::ItemIsDropEnabled | flags;
 }
 
 int QmitkPythonVariableStackTableModel::rowCount(const QModelIndex &) const
 {
     return m_VariableStack.size();
 }
 
 int QmitkPythonVariableStackTableModel::columnCount(const QModelIndex &) const
 {
     return 3;
 }
 
 QVariant QmitkPythonVariableStackTableModel::data(const QModelIndex &index, int role) const
 {
     if (index.isValid() && !m_VariableStack.empty())
     {
         if(role == Qt::DisplayRole)
         {
             mitk::PythonVariable item = m_VariableStack.at(index.row());
             if(index.column() == 0)
                 return item.m_Name;
             if(index.column() == 1)
                 return item.m_Value;
             if(index.column() == 2)
                 return item.m_Type;
         }
     }
     return QVariant();
 }
 
 QStringList QmitkPythonVariableStackTableModel::mimeTypes() const
 {
     return QAbstractTableModel::mimeTypes();
     QStringList types;
     types << "application/x-mitk-datanodes";
     types << "application/x-qabstractitemmodeldatalist";
     return types;
 }
 
 Qt::DropActions QmitkPythonVariableStackTableModel::supportedDropActions() const
 {
     return Qt::CopyAction | Qt::MoveAction;
 }
 
 void QmitkPythonVariableStackTableModel::CommandExecuted(const QString &pythonCommand)
 {
     m_VariableStack = m_PythonService->GetVariableStack();
     QAbstractTableModel::reset();
 }
 
 QList<mitk::PythonVariable> QmitkPythonVariableStackTableModel::GetVariableStack() const
 {
     return m_VariableStack;
 }
 
 
 QString QmitkPythonVariableStackTableModel::CreateDictionaryCommandIfNecessary()
 {
     MITK_DEBUG("QmitkPythonVariableStackTableModel") << "CreateDictionaryCommandIfNecessary()";
     MITK_DEBUG("QmitkPythonVariableStackTableModel") << "m_PythonImagesDictName = " << m_PythonImagesDictName.toStdString();
 
     QString command;
     command.append( QString("try:\n") );
     command.append( QString("  %1" ) .arg( m_PythonImagesDictName ) );
     command.append( QString("except NameError:\n") );
     command.append( QString("  %1 = {}\n") .arg( m_PythonImagesDictName ) );
     return command;
 }
-
-QString QmitkPythonVariableStackTableModel::GetDictionaryVarNameForNodeName(const std::string &nodeName)
-{
-    QString varName = QString("%1['%2']") .arg( m_PythonImagesDictName ) .arg( QString::fromStdString( nodeName ) );
-    return varName;
-}
-
-std::string QmitkPythonVariableStackTableModel::GetNodeNameForDictionaryVarName(const QString &varName)
-{
-    QString qNodeName = varName;
-    qNodeName = qNodeName.replace( m_PythonImagesDictName+"['", "" );
-    qNodeName = qNodeName.replace("']", "");
-    MITK_DEBUG("QmitkPythonVariableStackTableModel") << "qNodeName " << qNodeName.toStdString();
-    return qNodeName.toStdString();
-}
diff --git a/Modules/Python/QmitkPythonVariableStackTableModel.h b/Modules/Python/QmitkPythonVariableStackTableModel.h
index 1dc619ca60..dc2f2aa9bb 100755
--- a/Modules/Python/QmitkPythonVariableStackTableModel.h
+++ b/Modules/Python/QmitkPythonVariableStackTableModel.h
@@ -1,63 +1,60 @@
 /*===================================================================
 
 The Medical Imaging Interaction Toolkit (MITK)
 
 Copyright (c) German Cancer Research Center,
 Division of Medical and Biological Informatics.
 All rights reserved.
 
 This software is distributed WITHOUT ANY WARRANTY; without
 even the implied warranty of MERCHANTABILITY or FITNESS FOR
 A PARTICULAR PURPOSE.
 
 See LICENSE.txt or http://www.mitk.org for details.
 
 ===================================================================*/
 
 #ifndef QmitkPythonVariableStackTableModel_h
 #define QmitkPythonVariableStackTableModel_h
 
 #include <QAbstractTableModel>
 #include <QVariant>
 #include <QModelIndex>
 #include "mitkIPythonService.h"
 #include "mitkPythonExports.h"
 
 ///
 /// implements a table model to show the variables of the Python "__main__" dictionary
 /// furthermore implements dragging and dropping of datanodes (conversion from and to python)
 ///
 class MITK_PYTHON_EXPORT QmitkPythonVariableStackTableModel : public QAbstractTableModel, public mitk::PythonCommandObserver
 {
   Q_OBJECT
 
 public:
-  static const QString m_PythonImagesDictName;
-  static QString CreateDictionaryCommandIfNecessary();
-  static QString GetDictionaryVarNameForNodeName(const std::string& nodeName);
-  static std::string GetNodeNameForDictionaryVarName(const QString& varName);
+  static const QString MITK_IMAGE_VAR_NAME;
 
   QmitkPythonVariableStackTableModel(QObject *parent = 0);
   virtual ~QmitkPythonVariableStackTableModel();
 
   int rowCount(const QModelIndex &parent = QModelIndex()) const;
   int columnCount(const QModelIndex &parent = QModelIndex()) const;
   QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
   Qt::ItemFlags flags( const QModelIndex& index ) const;
   virtual QVariant headerData(int section, Qt::Orientation orientation,
                               int role) const;
 
   QStringList mimeTypes() const;
   bool dropMimeData ( const QMimeData *, Qt::DropAction, int, int, const QModelIndex & );
   Qt::DropActions supportedDropActions() const;
   Qt::DropActions supportedDragActions() const;
 
   void CommandExecuted(const QString& pythonCommand);
 
   QList<mitk::PythonVariable> GetVariableStack() const;
 private:
   QList<mitk::PythonVariable> m_VariableStack;
   mitk::IPythonService* m_PythonService;
 };
 
 #endif // QmitkPythonVariableStackTableModel_h
diff --git a/Modules/Python/QmitkPythonVariableStackTableView.cpp b/Modules/Python/QmitkPythonVariableStackTableView.cpp
index d733cddf1d..0da147f6e9 100755
--- a/Modules/Python/QmitkPythonVariableStackTableView.cpp
+++ b/Modules/Python/QmitkPythonVariableStackTableView.cpp
@@ -1,80 +1,75 @@
 /*===================================================================
 
 The Medical Imaging Interaction Toolkit (MITK)
 
 Copyright (c) German Cancer Research Center,
 Division of Medical and Biological Informatics.
 All rights reserved.
 
 This software is distributed WITHOUT ANY WARRANTY; without
 even the implied warranty of MERCHANTABILITY or FITNESS FOR
 A PARTICULAR PURPOSE.
 
 See LICENSE.txt or http://www.mitk.org for details.
 
 ===================================================================*/
 
 #include "QmitkPythonVariableStackTableView.h"
 #include <usModuleContext.h>
 #include <usServiceReference.h>
 #include <mitkGetModuleContext.h>
 #include <mitkRenderingManager.h>
 
 QmitkPythonVariableStackTableView::QmitkPythonVariableStackTableView(QWidget *parent)
     :QTableView(parent)
 {
     m_TableModel = new QmitkPythonVariableStackTableModel(parent);
     m_TableModel->CommandExecuted("");
 
     this->setSelectionBehavior( QAbstractItemView::SelectRows );
     this->setAlternatingRowColors(true);
     this->setDropIndicatorShown(true);
     this->setAcceptDrops(true);
     this->setModel( m_TableModel );
 
     mitk::ModuleContext* context = mitk::GetModuleContext();
     mitk::ServiceReference serviceRef = context->GetServiceReference<mitk::IPythonService>();
     m_PythonService = context->GetService<mitk::IPythonService>(serviceRef);
 
     connect( this, SIGNAL(doubleClicked ( const QModelIndex& )), this, SLOT( OnVariableStackDoubleClicked(const QModelIndex&) ) );
 }
 
 QmitkPythonVariableStackTableView::~QmitkPythonVariableStackTableView()
 {
 }
 
 void QmitkPythonVariableStackTableView::SetDataStorage(mitk::DataStorage *_DataStorage)
 {
     m_DataStorage = _DataStorage;
 }
 
 void QmitkPythonVariableStackTableView::OnVariableStackDoubleClicked(const QModelIndex &index)
 {
     if( m_DataStorage.IsNull() || m_PythonService == 0 )
     {
         MITK_ERROR << "QmitkPythonVariableStackTableView not configured correctly. Quit";
         return;
     }
 
     QList<mitk::PythonVariable> variableStack = m_TableModel->GetVariableStack();
     QString varName = variableStack.at(index.row()).m_Name;
 
     MITK_DEBUG("QmitkPythonVariableStackTableView") << varName;
     mitk::Image::Pointer mitkImage = m_PythonService->CopyItkImageFromPython(varName);
 
     if( mitkImage.IsNotNull() )
     {
-        std::string nodeName = QmitkPythonVariableStackTableModel::GetNodeNameForDictionaryVarName(varName);
-
-        mitk::DataNode::Pointer node = m_DataStorage->GetNamedNode( nodeName.c_str() );
-        if( node.IsNull() )
-        {
-            node = mitk::DataNode::New();
-            m_DataStorage->Add(node);
-        }
+        std::string nodeName = varName.toStdString();
+        node = mitk::DataNode::New();
+        m_DataStorage->Add(node);
 
         node->SetData( mitkImage );
 
         mitk::RenderingManager::GetInstance()->RequestUpdateAll();
     }
 }