diff --git a/ChangeLog b/ChangeLog
index 59965a008000a51d4bbd343c7980b97d6f506539..7919e7e0fe62dafaa88e39f968d3e579fef4dc42 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2014-08-28  Niels Möller  <nisse@lysator.liu.se>
 
+	* testsuite/symbols-test: Regexp fixes, to better filter out
+	get_pc_thunk functions.
+
 	* ecc-generic-redc.c (ecc_generic_redc): Deleted file and
 	function. Split into...
 	* ecc-pp1-redc.c (ecc_pp1_redc): New file and function.
diff --git a/testsuite/symbols-test b/testsuite/symbols-test
index 7fe94edef5b0aa395a033fde8a6c297955222cca..83f13d4f0a6d94df1d2710d44784f9c8d171dc40 100755
--- a/testsuite/symbols-test
+++ b/testsuite/symbols-test
@@ -8,7 +8,7 @@ fi
 
 : ${NM:=nm}
 
-# * nm on aix seems to generate bogus outbut including random binary
+# * nm on aix seems to generate bogus output including random binary
 #   data. Using -g is a workaround to get rid of that. But nm -g
 #   doesn't work on Solaris-2.4, so try nm -g first, and plain nm if
 #   -g isn't recognized.
@@ -17,7 +17,7 @@ fi
 #   code.
 
 ( $NM -g ../libnettle.a || $NM ../libnettle.a ) \
-    | grep ' [DRT] ' | egrep -v '( |^)\.?_?(_?nettle_)|get_pc_thunk' \
+    | grep ' [DRT] ' | egrep -v '( |^|\.)(\.?_?(_?nettle_)|get_pc_thunk)' \
     | sort -k3 > test1.out
 
 if [ -s test1.out ] ; then
@@ -32,7 +32,7 @@ if [ -s ../libhogweed.a ] ; then
 	PATTERN="$PATTERN|mp_|mpz_|mpn_"
     fi
     ( $NM -g ../libhogweed.a || $NM ../libhogweed.a ) \
-	| grep ' [DRT] ' | egrep -v "( |^)($PATTERN)" \
+	| grep ' [DRT] ' | egrep -v "( |^|\.)($PATTERN)" \
 	| sort -k3 > test1.out
 
     if [ -s test1.out ] ; then