diff --git a/source/ArmarXGui/gui-plugins/ScenarioManager/controller/SettingsController.cpp b/source/ArmarXGui/gui-plugins/ScenarioManager/controller/SettingsController.cpp
index 1cf7c22437ff40621f64d1422b210bb005b296f3..610e6bbe2c2d6ca90304a5c706bea43d8a0ddb48 100644
--- a/source/ArmarXGui/gui-plugins/ScenarioManager/controller/SettingsController.cpp
+++ b/source/ArmarXGui/gui-plugins/ScenarioManager/controller/SettingsController.cpp
@@ -30,6 +30,7 @@
 #include <ArmarXCore/util/ScenarioManagerCommon/parser/PidManager.h>
 #include <ArmarXCore/core/logging/Logging.h>
 #include <QStringList>
+#include <QMessageBox>
 #include <QList>
 #include <QVariant>
 #include <QSettings>
@@ -126,6 +127,18 @@ void SettingsController::showPackageAdderView()
 
 void SettingsController::addPackage(std::string name)
 {
+    for (auto package : *packages)
+    {
+        if (package->getName().compare(name) == 0)
+        {
+            QMessageBox box;
+            QString message(QString::fromStdString("Package " + name + " is already open"));
+            box.setText(message);
+            box.exec();
+            return;
+        }
+    }
+
     QSettings settings("KIT", "ScenarioManager");
     QStringList packages = settings.value("packages").toStringList();
 
diff --git a/source/ArmarXGui/gui-plugins/ScenarioManager/gui/detailedapplicationview.cpp b/source/ArmarXGui/gui-plugins/ScenarioManager/gui/detailedapplicationview.cpp
index 9988584f8031384665d0ae61d96139e128fec219..41b4db891be660db76b2bcea20f50b2c69915123 100644
--- a/source/ArmarXGui/gui-plugins/ScenarioManager/gui/detailedapplicationview.cpp
+++ b/source/ArmarXGui/gui-plugins/ScenarioManager/gui/detailedapplicationview.cpp
@@ -522,9 +522,13 @@ void DetailedApplicationView::itemChanged(QtProperty* property, const QVariant&
             else if (property->propertyName().compare("Instance Name") && properties->getProperty(property->propertyName().toStdString()).compare(value.toString().toStdString()))
             {
                 lastAppInstance->modifyProperty(property->propertyName().toStdString(), property->valueText().toStdString());
-                lastAppInstance->setDefaultPropertyEnabled(property->propertyName().toStdString(), true);
-                variantManager->setAttribute(property, QLatin1String("enabled"), true);
-
+                if (value.toString().compare("<set value!>")
+                    && value.toString().compare("::NOT_DEFINED::")
+                    && value.toString().compare("::_NOT_SET_::"))
+                {
+                    lastAppInstance->setDefaultPropertyEnabled(property->propertyName().toStdString(), true);
+                    variantManager->setAttribute(property, QLatin1String("enabled"), true);
+                }
                 updateTimer.start(UPDATE_TIMER_INTERVAL);
             }
             //showApplicationInstance(lastAppInstance);
@@ -572,8 +576,8 @@ void DetailedApplicationView::itemAttributeChanged(QtProperty* property, const Q
 
                 if (definition.isRequired())
                 {
-                    properties->getProperties()->setProperty(property->propertyName().toStdString(), "");
-                    internalManager->setValue(property, "");
+                    properties->getProperties()->setProperty(property->propertyName().toStdString(), "::_NOT_SET_::");
+                    internalManager->setValue(property, "::_NOT_SET_::");
                 }
                 else
                 {
diff --git a/source/ArmarXGui/gui-plugins/ScenarioManager/gui/scenarioitem.cpp b/source/ArmarXGui/gui-plugins/ScenarioManager/gui/scenarioitem.cpp
index a4204bcf8b2ddd6b9d20d44e133ff95525a2edb5..765cf926faf76873542fbe0ad54b4c0f3c54dc40 100644
--- a/source/ArmarXGui/gui-plugins/ScenarioManager/gui/scenarioitem.cpp
+++ b/source/ArmarXGui/gui-plugins/ScenarioManager/gui/scenarioitem.cpp
@@ -75,27 +75,48 @@ void ScenarioItem::update()
     if (scenario.get() != nullptr)
     {
         m_itemData[0] = scenario->getName().c_str();
-        std::string status = scenario->getStatus();
-        if (status.compare("Running") == 0)
-        {
-            m_itemData[4] = "Running";
-        }
-        else if (status.compare("Stopped") == 0)
-        {
-            m_itemData[4] = "Stopped";
-        }
-        else if (status.compare("") == 0)
-        {
-            m_itemData[4] = "Unknown";
-        }
-        else
-        {
-            m_itemData[4] = "Mixed";
-        }
+        m_itemData[4] = QString::fromStdString(scenario->getStatus());
     }
     else if (!packageName.empty() && applications->size() > 0)
     {
         m_itemData[0] = QString::fromStdString(packageName);
+
+        std::string status = "";
+        for (auto app : *applications)
+        {
+            if (status.compare("") == 0 && app->getStatus().compare("Running") == 0)
+            {
+                status = "Running";
+            }
+            else if (status.compare("") == 0 && app->getStatus().compare("Stopped") == 0)
+            {
+                status = "Stopped";
+            }
+            else if (status.compare("Running") == 0 && app->getStatus().compare("Running") == 0)
+            {
+                status = "Running";
+            }
+            else if (status.compare("Stopped") == 0 && app->getStatus().compare("Stopped") == 0)
+            {
+                status = "Stopped";
+            }
+            else if (status.compare("Running") == 0 && app->getStatus().compare("Stopped") == 0)
+            {
+                status = "Mixed";
+                break;
+            }
+            else if (status.compare("Stopped") == 0 && app->getStatus().compare("Running") == 0)
+            {
+                status = "Mixed";
+                break;
+            }
+            else
+            {
+                status = "Mixed";
+                break;
+            }
+        }
+        m_itemData[4] = QString::fromStdString(status);
     }
     else
     {
@@ -125,7 +146,6 @@ void ScenarioItem::update()
         {
             m_itemData[4] = "Unknown";
         }
-
     }
 }