diff --git a/buildout/tests/assertSoftware.py b/buildout/tests/assertSoftware.py
index cc67bc10fb7eb4514a09ed39ccbb7efa70d8fbb3..ca172038da628e2543264dc5a019ad003c4099b2 100644
--- a/buildout/tests/assertSoftware.py
+++ b/buildout/tests/assertSoftware.py
@@ -43,15 +43,15 @@ def readElfAsDict(f):
   library_list = []
   for l in result.split('\n'):
     if '(NEEDED)' in l:
-      library_list.append(l.split(':')[1].strip(' []'))
+      library_list.append(l.split(':')[1].strip(' []').split('.so')[0])
     elif '(RPATH)' in l:
       rpath_list = l.split(':',1)[1].strip(' []').split(':')
     elif '(RUNPATH)' in l:
       runpath_list = l.split(':',1)[1].strip(' []').split(':')
   return dict(
-    library_list=library_list,
-    rpath_list=rpath_list,
-    runpath_list=runpath_list
+    library_list=sorted(library_list),
+    rpath_list=sorted(rpath_list),
+    runpath_list=sorted(runpath_list)
   )
 
 class AssertPythonSoftware(unittest.TestCase):
@@ -231,10 +231,13 @@ class AssertApache(unittest.TestCase):
   def test_ld_libaprutil1(self):
     """Checks proper linking"""
     elf_dict = readElfAsDict('parts/apache/lib/libaprutil-1.so')
-    for lib in ['libexpat', 'libapr-1', 'librt',
-        'libcrypt', 'libpthread', 'libdl', 'libc']:
-      self.assertEqual(1, len([q for q in elf_dict['library_list'] if
-        q.startswith(lib+'.')]), 'No %r found' % lib)
+    self.assertEqual(sorted(['libexpat', 'libapr-1', 'librt', 'libcrypt',
+      'libpthread', 'libdl', 'libc']), elf_dict['library_list'])
+    soft_dir = os.path.join(os.path.abspath(os.curdir), 'parts')
+    expected_rpath_list = [os.path.join(soft_dir, software, 'lib') for
+        software in ['apache', 'zlib', 'openssl']]
+    self.assertEqual(sorted(expected_rpath_list), elf_dict['rpath_list'])
+    self.assertEqual(sorted(expected_rpath_list), elf_dict['runpath_list'])
 
   def test_modules(self):
     """Checks for availability of apache modules"""