diff --git a/dune/python/istl/bvector.hh b/dune/python/istl/bvector.hh
index 81184b80bc60edc3f8733760f41f9a0137988b87..ee4f5822267f89d75151c244b9afa86624806d0b 100644
--- a/dune/python/istl/bvector.hh
+++ b/dune/python/istl/bvector.hh
@@ -159,8 +159,20 @@ namespace Dune
       cls.def( "__len__", [] ( const BlockVector &self ) { return self.N(); } );
 
       cls.def( pybind11::self += pybind11::self );
+
+// silence a warning (false positive) emitted by clang
+// https://bugs.llvm.org/show_bug.cgi?id=43124
+#ifdef __clang__
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wself-assign-overloaded"
+#endif
+
       cls.def( pybind11::self -= pybind11::self );
 
+#ifdef __clang__
+#pragma GCC diagnostic pop
+#endif
+
       detail::registerOneTensorInterface( cls );
       detail::registerISTLIterators( cls );