diff --git a/python/lbmpy_walberla/templates/LatticeModel.tmpl.h b/python/lbmpy_walberla/templates/LatticeModel.tmpl.h
index df188fa32081427ae5ea4a05e81f7fe5b63ea1d4..a80049bead7aadb6fa85dbe99a821dda5d999344 100644
--- a/python/lbmpy_walberla/templates/LatticeModel.tmpl.h
+++ b/python/lbmpy_walberla/templates/LatticeModel.tmpl.h
@@ -17,7 +17,7 @@
 //
 //======================================================================================================================
 
-
+#pragma once
 #include "core/DataTypes.h"
 #include "core/logging/Logging.h"
 
@@ -97,7 +97,7 @@ class {{class_name}}
 
 public:
     typedef stencil::{{stencil_name}} Stencil;
-    typedef stencil::{{stencil_name}} CommunicationStencil;
+    typedef stencil::{{communication_stencil_name}} CommunicationStencil;
     static const real_t w[{{Q}}];
     static const real_t wInv[{{Q}}];
 
diff --git a/python/lbmpy_walberla/walberla_lbm_generation.py b/python/lbmpy_walberla/walberla_lbm_generation.py
index 698843f3b57fcfdc4e982489cda3d3e157a4e558..936fcae85ccaff437f97cd28c8e4bf5f74c30cb1 100644
--- a/python/lbmpy_walberla/walberla_lbm_generation.py
+++ b/python/lbmpy_walberla/walberla_lbm_generation.py
@@ -30,6 +30,9 @@ def __lattice_model(generation_context, class_name, lb_method, stream_collide_as
     stencil_name = get_stencil_name(lb_method.stencil)
     if not stencil_name:
         raise ValueError("lb_method uses a stencil that is not supported in waLBerla")
+
+
+    communication_stencil_name = stencil_name if stencil_name != "D3Q15" else "D3Q27"
     is_float = not generation_context.double_accuracy
     dtype_string = "float32" if is_float else "float64"
 
@@ -86,6 +89,7 @@ def __lattice_model(generation_context, class_name, lb_method, stream_collide_as
     jinja_context = {
         'class_name': class_name,
         'stencil_name': stencil_name,
+        'communication_stencil_name': communication_stencil_name,
         'D': lb_method.dim,
         'Q': len(lb_method.stencil),
         'compressible': lb_method.conserved_quantity_computation.compressible,
diff --git a/python/pystencils_walberla/codegen.py b/python/pystencils_walberla/codegen.py
index 27773a7e45d059ce322cb206ab3d92fae1e340df..5c2667342816e4b3f144e98f54babe31ff99d3b1 100644
--- a/python/pystencils_walberla/codegen.py
+++ b/python/pystencils_walberla/codegen.py
@@ -424,7 +424,9 @@ def get_vectorize_instruction_set(generation_context):
         if supported_instruction_sets:
             return supported_instruction_sets[-1]
         else:  # if cpuinfo package is not installed
-            warnings.warn("Could not obtain supported vectorization instruction sets - defaulting to sse")
+            warnings.warn("Could not obtain supported vectorization instruction sets - defaulting to sse. "\
+                           "This problem can probably be fixed by installing py-cpuinfo. This package can "\
+                           "gather the needed hardware information.")
             return 'sse'
     else:
         return None
diff --git a/python/pystencils_walberla/templates/Boundary.tmpl.h b/python/pystencils_walberla/templates/Boundary.tmpl.h
index e22d96a796ac9e1420a4d69b5b9122081a655dbf..57630039fd2f5b6b623b6b68fd081e25a3f289f0 100644
--- a/python/pystencils_walberla/templates/Boundary.tmpl.h
+++ b/python/pystencils_walberla/templates/Boundary.tmpl.h
@@ -17,6 +17,7 @@
 //! \\author pystencils
 //======================================================================================================================
 
+#pragma once
 #include "core/DataTypes.h"
 
 {% if target is equalto 'cpu' -%}