--- include/zthread/Guard.h.orig	2008-07-22 14:46:28.000000000 +0200
+++ include/zthread/Guard.h	2008-07-22 14:51:41.000000000 +0200
@@ -491,7 +491,7 @@
     
   try {
     
-    if(!isDisabled())
+    if(!LockHolder<LockType>::isDisabled())
       LockingPolicy::destroyScope(*this);
     
   } catch (...) { /* ignore */ }  
--- src/MutexImpl.h.orig	2008-07-22 14:54:40.000000000 +0200
+++ src/MutexImpl.h	2008-07-22 15:03:30.000000000 +0200
@@ -153,7 +153,7 @@
 
       _owner = self;
 
-      ownerAcquired(self);
+      MutexImpl<List,Behavior>::ownerAcquired(self);
       
     }
 
@@ -164,7 +164,7 @@
       _waiters.insert(self);
       m.acquire();
 
-      waiterArrived(self);
+      MutexImpl<List, Behavior>::waiterArrived(self);
 
       {        
       
@@ -173,7 +173,7 @@
       
       }
 
-      waiterDeparted(self);
+      MutexImpl<List, Behavior>::waiterDeparted(self);
 
       m.release();
         
@@ -192,7 +192,7 @@
           assert(_owner == 0);
           _owner = self;    
 
-          ownerAcquired(self);
+          MutexImpl<List, Behavior>::ownerAcquired(self);
 
           break;
         
@@ -236,7 +236,7 @@
 
       _owner = self;
 
-      ownerAcquired(self);
+      MutexImpl<List, Behavior>::ownerAcquired(self);
       
     }
 
@@ -253,7 +253,7 @@
       
         m.acquire();
 
-        waiterArrived(self);
+        MutexImpl<List, Behavior>:: waiterArrived(self);
       
         {
         
@@ -262,7 +262,7 @@
         
         }
 
-        waiterDeparted(self);
+	MutexImpl<List, Behavior>::waiterDeparted(self);
       
         m.release();
         
@@ -284,7 +284,7 @@
           assert(0 == _owner);
           _owner = self;
 
-          ownerAcquired(self);
+	MutexImpl<List, Behavior>::ownerAcquired(self);
         
           break;
         
@@ -326,7 +326,7 @@
 
     _owner = 0;
 
-    ownerReleased(impl);
+    MutexImpl<List, Behavior>::ownerReleased(impl);
   
     // Try to find a waiter with a backoff & retry scheme
     for(;;) {
