Index: /code/branches/presentation2/src/libraries/core/ArgumentCompletionFunctions.cc
===================================================================
--- /code/branches/presentation2/src/libraries/core/ArgumentCompletionFunctions.cc	(revision 6165)
+++ /code/branches/presentation2/src/libraries/core/ArgumentCompletionFunctions.cc	(revision 6166)
@@ -101,6 +101,6 @@
 
             for (std::map<std::string, Identifier*>::const_iterator it = Identifier::getStringIdentifierMapBegin(); it != Identifier::getStringIdentifierMapEnd(); ++it)
-                if ((*it).second->hasConfigValues())
-                    classlist.push_back(ArgumentCompletionListElement((*it).second->getName(), getLowercase((*it).first)));
+                if (it->second->hasConfigValues())
+                    classlist.push_back(ArgumentCompletionListElement(it->first, getLowercase(it->first)));
 
             return classlist;
@@ -110,10 +110,10 @@
         {
             ArgumentCompletionList configvalues;
-            std::map<std::string, Identifier*>::const_iterator identifier = Identifier::getStringIdentifierMap().find(classname);
+            std::map<std::string, Identifier*>::const_iterator identifier = Identifier::getLowercaseStringIdentifierMap().find(getLowercase(classname));
 
-            if (identifier != Identifier::getStringIdentifierMapEnd() && (*identifier).second->hasConfigValues())
+            if (identifier != Identifier::getLowercaseStringIdentifierMapEnd() && identifier->second->hasConfigValues())
             {
-                for (std::map<std::string, ConfigValueContainer*>::const_iterator it = (*identifier).second->getConfigValueMapBegin(); it != (*identifier).second->getConfigValueMapEnd(); ++it)
-                    configvalues.push_back(ArgumentCompletionListElement((*it).second->getName(), getLowercase((*it).first)));
+                for (std::map<std::string, ConfigValueContainer*>::const_iterator it = identifier->second->getConfigValueMapBegin(); it != identifier->second->getConfigValueMapEnd(); ++it)
+                    configvalues.push_back(ArgumentCompletionListElement(it->first, getLowercase(it->first)));
             }
 
@@ -127,8 +127,8 @@
             if (identifier != Identifier::getLowercaseStringIdentifierMapEnd())
             {
-                std::map<std::string, ConfigValueContainer*>::const_iterator variable = (*identifier).second->getLowercaseConfigValueMap().find(getLowercase(varname));
-                if (variable != (*identifier).second->getLowercaseConfigValueMapEnd())
+                std::map<std::string, ConfigValueContainer*>::const_iterator variable = identifier->second->getLowercaseConfigValueMap().find(getLowercase(varname));
+                if (variable != identifier->second->getLowercaseConfigValueMapEnd())
                 {
-                    std::string valuestring = (*variable).second->toString();
+                    std::string valuestring = variable->second->toString();
                     oldvalue.push_back(ArgumentCompletionListElement(valuestring, getLowercase(valuestring), "Old value: " + valuestring));
                 }
Index: /code/branches/presentation2/src/libraries/core/CommandExecutor.cc
===================================================================
--- /code/branches/presentation2/src/libraries/core/CommandExecutor.cc	(revision 6165)
+++ /code/branches/presentation2/src/libraries/core/CommandExecutor.cc	(revision 6166)
@@ -637,18 +637,23 @@
             for (unsigned int i = 0; true; i++)
             {
+                char tempComparable = 0;
                 char temp = 0;
                 for (ArgumentCompletionList::const_iterator it = list.begin(); it != list.end(); ++it)
                 {
-                    std::string argument = (*it).getComparable();
+                    std::string argumentComparable = (*it).getComparable();
+                    std::string argument = (*it).getString();
                     if (argument.size() > i)
                     {
                         if (it == list.begin())
                         {
+                            tempComparable = argumentComparable[i];
                             temp = argument[i];
                         }
                         else
                         {
-                            if (temp != argument[i])
+                            if (tempComparable != argumentComparable[i])
                                 return output;
+                            else if (temp != argument[i])
+                                temp = tempComparable;
                         }
                     }
