diff --git a/ChangeLog b/ChangeLog
index 886fe1142a..5fe63180f8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -46,6 +46,7 @@ Bugfix
    * Restore ability to locally trust a self-signed cert that is not a proper
      CA for use as an end entity certificate. (This had been removed in
      1.3.6.)
+   * Fix preprocessor checks for bn_mul PPC asm (found by Barry K. Nathan).
 
 = PolarSSL 1.3.7 released on 2014-05-02
 Features
diff --git a/include/polarssl/bn_mul.h b/include/polarssl/bn_mul.h
index 39dee41d65..345893a29f 100644
--- a/include/polarssl/bn_mul.h
+++ b/include/polarssl/bn_mul.h
@@ -285,7 +285,6 @@
 
 #endif /* MC68000 */
 
-#if defined(__powerpc__)   || defined(__ppc__)
 #if defined(__powerpc64__) || defined(__ppc64__)
 
 #if defined(__MACH__) && defined(__APPLE__)
@@ -371,7 +370,7 @@
 
 #endif /* __MACH__ && __APPLE__ */
 
-#else /* PPC32 */
+#elif defined(__powerpc__) || defined(__ppc__) /* end PPC64/begin PPC32  */
 
 #if defined(__MACH__) && defined(__APPLE__)
 
@@ -456,7 +455,6 @@
 #endif /* __MACH__ && __APPLE__ */
 
 #endif /* PPC32 */
-#endif /* PPC64 */
 
 #if defined(__sparc__) && defined(__sparc64__)