diff --git a/libavutil/atomic.c b/libavutil/atomic.c
index add489a26e724c979a4629b0b48d0117e5aa2620..e4fa957ba45ae11770665f94c1f4b623018a2d69 100644
--- a/libavutil/atomic.c
+++ b/libavutil/atomic.c
@@ -18,6 +18,7 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config.h"
 #include "atomic.h"
 
 #if !HAVE_ATOMICS_NATIVE
@@ -102,7 +103,7 @@ void *avpriv_atomic_ptr_cas(void * volatile *ptr, void *oldval, void *newval)
 
 #endif /* HAVE_PTHREADS */
 
-#endif /* !HAVE_MEMORYBARRIER && !HAVE_SYNC_VAL_COMPARE_AND_SWAP && !HAVE_MACHINE_RW_BARRIER */
+#endif /* !HAVE_ATOMICS_NATIVE */
 
 #ifdef TEST
 #include <assert.h>
diff --git a/libavutil/atomic.h b/libavutil/atomic.h
index a5c5fe86bf9690107a800648d1e84eab7e65fe3a..57a0c19fcbaf04613fd477ecd4d96e50aea21086 100644
--- a/libavutil/atomic.h
+++ b/libavutil/atomic.h
@@ -23,12 +23,16 @@
 
 #include "config.h"
 
+#if HAVE_ATOMICS_NATIVE
+
 #if HAVE_ATOMICS_GCC
 #include "atomic_gcc.h"
 #elif HAVE_ATOMICS_WIN32
 #include "atomic_win32.h"
 #elif HAVE_ATOMICS_SUNCC
 #include "atomic_suncc.h"
+#endif
+
 #else
 
 /**
@@ -70,5 +74,6 @@ int avpriv_atomic_int_add_and_fetch(volatile int *ptr, int inc);
  */
 void *avpriv_atomic_ptr_cas(void * volatile *ptr, void *oldval, void *newval);
 
-#endif /* HAVE_MEMORYBARRIER */
+#endif /* HAVE_ATOMICS_NATIVE */
+
 #endif /* AVUTIL_ATOMIC_H */