diff --git a/libpointmatcher/distinfo b/libpointmatcher/distinfo
index f0368f02eeecf5b9e81a233f34fe801ca6a986a8..90d6d950aef6656af32468ad4101a738c7a8bad9 100644
--- a/libpointmatcher/distinfo
+++ b/libpointmatcher/distinfo
@@ -1,4 +1,4 @@
 SHA1 (libpointmatcher-1.1.0.tar.gz) = 49ae5a799f90bd8f381d0a0a444465ad35c1e64b
 RMD160 (libpointmatcher-1.1.0.tar.gz) = dd9dfb488f44ca7d5231ce7f80b5b408f6e42269
 Size (libpointmatcher-1.1.0.tar.gz) = 1849742 bytes
-SHA1 (patch-aa) = 1fdeea52150e0879db0cf245b704db70fcc341d0
+SHA1 (patch-aa) = 176a86f04c48dceb68adb2a741cc63b85e73f568
diff --git a/libpointmatcher/patches/patch-aa b/libpointmatcher/patches/patch-aa
index 17401000ed4768f1834b2b12f1a732d3a67e6cf4..23421bd804c8e0ff3753fc383c60bfcdbcceac6c 100644
--- a/libpointmatcher/patches/patch-aa
+++ b/libpointmatcher/patches/patch-aa
@@ -1,15 +1,15 @@
 diff --git pointmatcher/Timer.cpp pointmatcher/Timer.cpp
-index cdd18da..ba2a3a6 100644
+index cdd18da..b7fee49 100644
 --- pointmatcher/Timer.cpp
 +++ pointmatcher/Timer.cpp
 @@ -68,7 +68,11 @@ namespace PointMatcherSupport
  		return Time(now.tv_sec) * Time(1000000000) + Time(now.tv_nsec);
  		#else // __MACH__
  		struct timespec ts;
-+		#ifdef __NetBSD__
-+		clock_gettime(CLOCK_PROF, &ts);
-+		#else
++		#ifdef CLOCK_PROCESS_CPUTIME_ID
  		clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &ts);
++		#else // BSD and old Linux
++		clock_gettime(CLOCK_PROF, &ts);
 +		#endif
  		return Time(ts.tv_sec) * Time(1000000000) + Time(ts.tv_nsec);
  		#endif // __MACH__