Index: src/Analysis/analysis_correlation.cpp
===================================================================
--- src/Analysis/analysis_correlation.cpp	(revision 87cadb7754911b9e3eae7d6f1889641edb3b3953)
+++ src/Analysis/analysis_correlation.cpp	(revision 7daf73cc475692eebaceda7e13ff1d21adc69d5d)
@@ -323,15 +323,13 @@
   }
 
-  //!> typedef for an unsorted container, (output) compatible with STL algorithms
-  typedef std::vector<const TesselPoint *> LinkedVector;
-
   // create intersection (to know when to check for double-counting)
-  LinkedVector intersected_atoms(atoms_second.size(), NULL);
-  LinkedVector::iterator intersected_atoms_end =
+  LinkedCell::LinkedList intersected_atoms(atoms_second.size(), NULL);
+  LinkedCell::LinkedList::iterator intersected_atoms_end =
       std::set_intersection(
           atoms_first.begin(),atoms_first.end(),
           atoms_second.begin(), atoms_second.end(),
           intersected_atoms.begin());
-  const LinkedCell::LinkedList intersected_atoms_set(intersected_atoms.begin(), intersected_atoms_end);
+  intersected_atoms.erase(intersected_atoms_end, intersected_atoms.end());
+  std::sort(intersected_atoms.begin(), intersected_atoms.end());
 
   // get linked cell view
@@ -340,4 +338,5 @@
   // convert second to _sorted_ set
   LinkedCell::LinkedList atoms_second_set(atoms_second.begin(), atoms_second.end());
+  std::sort(atoms_second_set.begin(), atoms_second_set.end());
   LOG(2, "INFO: first set has " << atoms_first.size()
       << " and second set has " << atoms_second_set.size() << " atoms.");
@@ -353,4 +352,5 @@
         max_distance,
         Walker->getPosition());
+    std::sort(ListOfNeighbors.begin(), ListOfNeighbors.end());
     LOG(2, "INFO: There are " << ListOfNeighbors.size() << " neighbors.");
 
@@ -358,19 +358,24 @@
     // NOTE: STL algorithms do mostly not work on sorted container because reassignment
     // of a value may also require changing its position.
-    LinkedVector intersected_set(atoms_second.size(), NULL);
-    LinkedVector::iterator intersected_end =
+    LinkedCell::LinkedList intersected_set(atoms_second.size(), NULL);
+    LinkedCell::LinkedList::iterator intersected_end =
         std::set_intersection(
             ListOfNeighbors.begin(),ListOfNeighbors.end(),
             atoms_second_set.begin(), atoms_second_set.end(),
             intersected_set.begin());
+    intersected_set.erase(intersected_end, intersected_set.end());
+    std::sort(intersected_set.begin(), intersected_set.end());
     // count remaining elements
     LOG(2, "INFO: Intersection with second set has " << int(intersected_end - intersected_set.begin()) << " elements.");
     // we have some possible candidates, go through each
-    for (LinkedVector::const_iterator neighboriter = intersected_set.begin();
+    for (LinkedCell::LinkedList::const_iterator neighboriter = intersected_set.begin();
         neighboriter != intersected_end;
         ++neighboriter) {
       const TesselPoint * const OtherWalker = (*neighboriter);
-      LinkedCell::LinkedList::const_iterator equaliter = intersected_atoms_set.find(OtherWalker);
-      if ((equaliter !=  intersected_atoms_set.end()) && (OtherWalker <= Walker)) {
+      LinkedCell::LinkedList::const_iterator equaliter =
+          std::lower_bound(intersected_atoms.begin(), intersected_atoms.end(), OtherWalker);
+      if ((equaliter !=  intersected_atoms.end())
+          && (*equaliter == OtherWalker) // cause we only check lower_bound not equal due to sort
+          && (OtherWalker <= Walker)) {
         // present in both sets, assure that we are larger
         continue;
Index: src/LinkedCell/LinkedCell.cpp
===================================================================
--- src/LinkedCell/LinkedCell.cpp	(revision 87cadb7754911b9e3eae7d6f1889641edb3b3953)
+++ src/LinkedCell/LinkedCell.cpp	(revision 7daf73cc475692eebaceda7e13ff1d21adc69d5d)
@@ -72,5 +72,5 @@
 void LinkedCell::LinkedCell::addPoint(const TesselPoint *point)
 {
-  insert(point);
+  push_back(point);
 }
 
@@ -84,5 +84,5 @@
 void LinkedCell::LinkedCell::deletePoint(const TesselPoint *point)
 {
-  LinkedList::iterator iter = find(point);
+  LinkedList::iterator iter = std::find(begin(), end(), point);
   ASSERT( iter != end(),
       "LinkedCell::LinkedCell::deletePoint() - "+toString(*point)+" not present in this cell.");
Index: src/LinkedCell/LinkedCell_View.cpp
===================================================================
--- src/LinkedCell/LinkedCell_View.cpp	(revision 87cadb7754911b9e3eae7d6f1889641edb3b3953)
+++ src/LinkedCell/LinkedCell_View.cpp	(revision 7daf73cc475692eebaceda7e13ff1d21adc69d5d)
@@ -137,7 +137,9 @@
           LCmodel->applyBoundaryConditions(absolute_n);
         const LinkedCell &List = LCmodel->getCell(absolute_n);
-        LOG(3, "INFO: Current cell is " << neighbors.first << " plus " << n << ", yielding " << absolute_n << ".");
-        for (LinkedCell::const_iterator Runner = List.begin(); Runner != List.end(); Runner++)
-          TesselList.insert(*Runner);
+        LOG(4, "INFO: Current cell is " << neighbors.first << " plus " << n << ", yielding " << absolute_n << ".");
+        for (LinkedCell::const_iterator Runner = List.begin(); Runner != List.end(); Runner++) {
+          TesselList.push_back(*Runner);
+          LOG(5, "INFO: Inserting " << **Runner);
+        }
       }
   return TesselList;
@@ -154,5 +156,5 @@
   for (LinkedList::const_iterator iter = TesselList.begin(); iter != TesselList.end(); ++iter) {
     if (domain.periodicDistanceSquared(center, (*iter)->getPosition()) <= radius*radius)
-      ReturnList.insert(*iter);
+      ReturnList.push_back(*iter);
   }
 
Index: src/LinkedCell/types.hpp
===================================================================
--- src/LinkedCell/types.hpp	(revision 87cadb7754911b9e3eae7d6f1889641edb3b3953)
+++ src/LinkedCell/types.hpp	(revision 7daf73cc475692eebaceda7e13ff1d21adc69d5d)
@@ -31,5 +31,5 @@
 
   //!> linked list of tesselpoints
-  typedef std::set<const TesselPoint *> LinkedList;
+  typedef std::vector<const TesselPoint *> LinkedList;
 
   //!> three-dimensional array of LinkedCell instances
Index: src/LinkedCell/unittests/LinkedCellUnitTest.cpp
===================================================================
--- src/LinkedCell/unittests/LinkedCellUnitTest.cpp	(revision 87cadb7754911b9e3eae7d6f1889641edb3b3953)
+++ src/LinkedCell/unittests/LinkedCellUnitTest.cpp	(revision 7daf73cc475692eebaceda7e13ff1d21adc69d5d)
@@ -81,5 +81,5 @@
 
   // add a point
-  cell->insert(Walker);
+  cell->push_back(Walker);
   CPPUNIT_ASSERT_EQUAL((size_t)1, cell->size());
 
Index: src/LinkedCell/unittests/LinkedCell_ViewUnitTest.cpp
===================================================================
--- src/LinkedCell/unittests/LinkedCell_ViewUnitTest.cpp	(revision 87cadb7754911b9e3eae7d6f1889641edb3b3953)
+++ src/LinkedCell/unittests/LinkedCell_ViewUnitTest.cpp	(revision 7daf73cc475692eebaceda7e13ff1d21adc69d5d)
@@ -140,5 +140,5 @@
   for (PointSet::const_iterator iter = NodeList.begin(); iter != NodeList.end(); ++iter)
     if (center.DistanceSquared((*iter)->getPosition()) <= distance*distance) {
-      ComparisonList.insert(*iter);
+      ComparisonList.push_back(*iter);
       //std::cout << **iter << " is inside of " << center << " plus " << distance << "." << std::endl;
     }
@@ -177,5 +177,5 @@
   for (PointSet::const_iterator iter = NodeList.begin(); iter != NodeList.end(); ++iter)
     if (center.DistanceSquared((*iter)->getPosition()) <= distance*distance) {
-      ComparisonList.insert(*iter);
+      ComparisonList.push_back(*iter);
       //std::cout << **iter << " is inside of " << center << " plus " << distance << "." << std::endl;
     }
Index: tests/regression/Molecules/Remove/post/id0_2_missing.pdb
===================================================================
--- tests/regression/Molecules/Remove/post/id0_2_missing.pdb	(revision 87cadb7754911b9e3eae7d6f1889641edb3b3953)
+++ tests/regression/Molecules/Remove/post/id0_2_missing.pdb	(revision 7daf73cc475692eebaceda7e13ff1d21adc69d5d)
@@ -1,3 +1,3 @@
-REMARK created by molecuilder on Fri Dec 12 18:59:48 2014, time step 0
+REMARK created by molecuilder on Mon Feb  8 16:15:23 2016, time step 0
 ATOM      1 O01 0non 01          1.590   2.000   6.000  0.00  0.00           O 0
 ATOM      2 H01 0non 01          2.205   2.000   6.774  0.00  0.00           H 0
@@ -18,20 +18,20 @@
 ATOM     17 H01 0non 06          6.205   6.000   6.774  0.00  0.00           H 0
 ATOM     18 H02 0non 06          6.205   6.000   5.226  0.00  0.00           H 0
-CONECT    1    2    3                                                           
+CONECT    1    3    2                                                           
 CONECT    2    1                                                                
 CONECT    3    1                                                                
-CONECT    4    5    6                                                           
+CONECT    4    6    5                                                           
 CONECT    5    4                                                                
 CONECT    6    4                                                                
-CONECT    7    8    9                                                           
+CONECT    7    9    8                                                           
 CONECT    8    7                                                                
 CONECT    9    7                                                                
-CONECT   10   11   12                                                           
+CONECT   10   12   11                                                           
 CONECT   11   10                                                                
 CONECT   12   10                                                                
-CONECT   13   14   15                                                           
+CONECT   13   15   14                                                           
 CONECT   14   13                                                                
 CONECT   15   13                                                                
-CONECT   16   17   18                                                           
+CONECT   16   18   17                                                           
 CONECT   17   16                                                                
 CONECT   18   16                                                                
Index: tests/regression/Molecules/Remove/post/water_box.pdb
===================================================================
--- tests/regression/Molecules/Remove/post/water_box.pdb	(revision 87cadb7754911b9e3eae7d6f1889641edb3b3953)
+++ tests/regression/Molecules/Remove/post/water_box.pdb	(revision 7daf73cc475692eebaceda7e13ff1d21adc69d5d)
@@ -1,3 +1,3 @@
-REMARK created by molecuilder on Tue Feb 10 10:29:29 2015, time step 0
+REMARK created by molecuilder on Mon Feb  8 16:15:26 2016, time step 0
 ATOM      1 O01 0non 01          1.590   2.000   2.000  0.00  0.00           O 0
 ATOM      2 H01 0non 01          2.205   2.000   2.774  0.00  0.00           H 0
@@ -27,5 +27,5 @@
 CONECT    2    1                                                                
 CONECT    3    1                                                                
-CONECT    4    5    6                                                           
+CONECT    4    6    5                                                           
 CONECT    5    4                                                                
 CONECT    6    4                                                                
@@ -33,17 +33,17 @@
 CONECT    8    7                                                                
 CONECT    9    7                                                                
-CONECT   10   11   12                                                           
+CONECT   10   12   11                                                           
 CONECT   11   10                                                                
 CONECT   12   10                                                                
-CONECT   13   14   15                                                           
+CONECT   13   15   14                                                           
 CONECT   14   13                                                                
 CONECT   15   13                                                                
-CONECT   16   17   18                                                           
+CONECT   16   18   17                                                           
 CONECT   17   16                                                                
 CONECT   18   16                                                                
-CONECT   19   20   21                                                           
+CONECT   19   21   20                                                           
 CONECT   20   19                                                                
 CONECT   21   19                                                                
-CONECT   22   23   24                                                           
+CONECT   22   24   23                                                           
 CONECT   23   22                                                                
 CONECT   24   22                                                                
