diff --git a/configure b/configure
index 292da47f72343a831bef9938c3e75ea4159bdbf6..841c39a00c2a4780379fe77cd50fe83376881017 100755
--- a/configure
+++ b/configure
@@ -1606,6 +1606,7 @@ atomics_gcc_if="sync_val_compare_and_swap"
 atomics_suncc_if="atomic_cas_ptr machine_rw_barrier"
 atomics_win32_if="MemoryBarrier"
 atomics_native_if_any="$ATOMICS_LIST"
+w32threads_deps="atomics_native"
 threads_if_any="$THREADS_LIST"
 
 # subsystems
diff --git a/libavutil/atomic.c b/libavutil/atomic.c
index e4fa957ba45ae11770665f94c1f4b623018a2d69..83740396d4a2f204b46b2d921366c4ca7ddfbe79 100644
--- a/libavutil/atomic.c
+++ b/libavutil/atomic.c
@@ -97,8 +97,11 @@ void *avpriv_atomic_ptr_cas(void * volatile *ptr, void *oldval, void *newval)
     return *ptr;
 }
 
-#else
+#else /* HAVE_THREADS */
 
+/* This should never trigger, unless a new threading implementation
+ * without correct atomics dependencies in configure or a corresponding
+ * atomics implementation is added. */
 #error "Threading is enabled, but there is no implementation of atomic operations available"
 
 #endif /* HAVE_PTHREADS */