Index: molecuilder/src/config.cpp
===================================================================
--- molecuilder/src/config.cpp	(revision 36b128c267016e7e43e8680288b1f9409de15b83)
+++ molecuilder/src/config.cpp	(revision 2456dbc17d269d2713d0c9aacb7c79b62481ac9f)
@@ -17,4 +17,5 @@
   pseudopotpath = (char *) MallocString(sizeof(char)*255,"config constructor: mainname");
   configpath = (char *) MallocString(sizeof(char)*255,"config constructor: mainname");
+  configname = (char *) MallocString(sizeof(char)*255,"config constructor: mainname");
   strcpy(mainname,"pcp");
   strcpy(defaultpath,"not specified");
@@ -88,4 +89,5 @@
   Free((void **)&pseudopotpath, "config::~config: *pseudopotpath");
   Free((void **)&configpath, "config::~config: *configpath");
+  Free((void **)&configname, "config::~config: *configname");
 };
 
@@ -406,6 +408,7 @@
  * \param *filename config file string
  */
-void config::RetrieveConfigPath(char *filename)
+void config::RetrieveConfigPathAndName(char *filename)
 {
+  char *ptr = NULL;
   int last = -1;
   for(int i=0;i<255;i++) {
@@ -417,10 +420,13 @@
   if (last == -1) { // no path in front, set to local directory.
     strcpy(configpath, "./");
+    ptr = filename;
   } else {
     strncpy(configpath, filename, last+1);
+    ptr = &filename[last+1];
     if (last < 254)
       configpath[last+1]='\0';
   }
-  cout << "Found configpath: " << configpath << ", dir slash was found at " << last << "." << endl;
+  strcpy(configname, ptr);
+  cout << "Found configpath: " << configpath << ", dir slash was found at " << last << ", config name is " << configname << "." << endl;
 };
 
@@ -438,5 +444,5 @@
     return;
   }
-  RetrieveConfigPath(filename);
+  RetrieveConfigPathAndName(filename);
   // ParseParameters
   
@@ -669,5 +675,5 @@
     return;
   }
-  RetrieveConfigPath(filename);
+  RetrieveConfigPathAndName(filename);
   // ParseParameters
   
Index: molecuilder/src/moleculelist.cpp
===================================================================
--- molecuilder/src/moleculelist.cpp	(revision 36b128c267016e7e43e8680288b1f9409de15b83)
+++ molecuilder/src/moleculelist.cpp	(revision 2456dbc17d269d2713d0c9aacb7c79b62481ac9f)
@@ -319,5 +319,5 @@
   for(int i=0;i<NumberOfMolecules;i++) {
     //if (TEList[i] != 0) {
-      strcpy(PathBackup, configuration->GetDefaultPath());
+      strcpy(PathBackup, configuration->configpath);
 
       // scan all atoms in the current molecule for their fathers and write each vertex index to forces file
@@ -349,5 +349,5 @@
       sprintf(FragmentName, "%s/%s%s.conf", PathBackup, prefix, FragmentNumber);
       outputFragment.open(FragmentName, ios::out);
-      strcpy(PathBackup, configuration->GetDefaultPath());
+      strcpy(PathBackup, configuration->configpath);
       sprintf(FragmentName, "%s/%s%s/", PathBackup, prefix, FragmentNumber);
       
@@ -383,5 +383,5 @@
     }
 
-  strcpy(PathBackup, configuration->GetDefaultPath());
+  strcpy(PathBackup, configuration->configpath);
   // open file for the total energy factor
   sprintf(TEFilename, "%s/%s%s", PathBackup, prefix, TEFACTORSFILE);
Index: molecuilder/src/molecules.cpp
===================================================================
--- molecuilder/src/molecules.cpp	(revision 36b128c267016e7e43e8680288b1f9409de15b83)
+++ molecuilder/src/molecules.cpp	(revision 2456dbc17d269d2713d0c9aacb7c79b62481ac9f)
@@ -2093,7 +2093,7 @@
     status = false;
   }
-  status = status && CheckAdjacencyFileAgainstMolecule(out, configuration->GetDefaultPath(), ListOfAtoms); 
+  status = status && CheckAdjacencyFileAgainstMolecule(out, configuration->configpath, ListOfAtoms); 
   if (status) {  // NULL entries in ListOfAtoms contain NonMatches
-    status = status && ParseKeySetFile(out, configuration->GetDefaultPath(), ListOfAtoms, FragmentList, configuration->GetIsAngstroem());
+    status = status && ParseKeySetFile(out, configuration->configpath, ListOfAtoms, FragmentList, configuration->GetIsAngstroem());
   }
   Free((void **)&ListOfAtoms, "molecule::FragmentMolecule - **ListOfAtoms");
@@ -2102,5 +2102,5 @@
   if (!status) {
     // === store Adjacency file ===
-    StoreAdjacencyToFile(out, configuration->GetDefaultPath());
+    StoreAdjacencyToFile(out, configuration->configpath);
 
     // === first perform a DFS analysis to gather info on cyclic structure and a list of disconnected subgraphs ===
Index: molecuilder/src/molecules.hpp
===================================================================
--- molecuilder/src/molecules.hpp	(revision 36b128c267016e7e43e8680288b1f9409de15b83)
+++ molecuilder/src/molecules.hpp	(revision 2456dbc17d269d2713d0c9aacb7c79b62481ac9f)
@@ -613,4 +613,5 @@
     int ProcPEPsi;
     char *configpath;
+    char *configname;
     
     private:
@@ -678,5 +679,5 @@
   void Load(char *filename, periodentafel *periode, molecule *mol);
   void LoadOld(char *filename, periodentafel *periode, molecule *mol);
-  void RetrieveConfigPath(char *filename);
+  void RetrieveConfigPathAndName(char *filename);
   bool Save(ofstream *file, periodentafel *periode, molecule *mol) const;
   void Edit(molecule *mol);
