diff --git a/u4py/io/docx_report.py b/u4py/io/docx_report.py
index 37b0c1a692adf001893851f19f90d566b076e13c..74bf31797da75bb7a6864c3ef635b606e7dbc5d1 100644
--- a/u4py/io/docx_report.py
+++ b/u4py/io/docx_report.py
@@ -5,6 +5,7 @@ requirements of the HLNUG.
 
 import os
 
+import numpy as np
 import docx
 import docx.parts
 import docx.shared
@@ -67,7 +68,7 @@ def site_report(
     section.footer_distance = docx.shared.Mm(12.7)
 
     # Start filling the Document
-    document.add_heading(f"Beschreibung für Nr. {group}", level=0)
+    document.add_heading(f"Beschreibung für Amt-Nr. {group}", level=0)
 
     # Add header
     heading = ",".join(row[1].locations.split(",")[:-4])
@@ -86,7 +87,7 @@ def site_report(
         document,
         web_query_path,
     )
-    document = landuse(row[1], document)
+    # document = landuse(row[1], document)
 
     # Volumina
     document = moved_volumes(row[1], document)
@@ -198,19 +199,24 @@ def hlnug_description(
         )
 
     # Add number and name of geological map
-    if isinstance(row["geology_mapnum"], list):
-        map_list = [
-            f"{mpnum} {mpname}"
-            for mpnum, mpname in zip(
-                row["geology_mapnum"], row["geology_mapname"]
+    mapnum = eval(row["geology_mapnum"])
+    if mapnum:
+        if isinstance(mapnum, list):
+            mapname = eval(row["geology_mapname"])
+            map_list = [
+                f"{mpnum} {mpname}"
+                for mpnum, mpname in zip(
+                    mapnum, mapname
+                )
+            ]
+            mapnum_string = u4human.listed_strings(map_list)
+            prgph.add_run(f"auf den Kartenblättern {mapnum_string}. ")
+        else:
+            prgph.add_run(
+                f"auf dem Kartenblatt {row['geology_mapnum']} {row['geology_mapname']}. "
             )
-        ]
-        mapnum_string = u4human.listed_strings(map_list)
-        prgph.add_run(f"auf den Kartenblättern {mapnum_string}. ")
     else:
-        prgph.add_run(
-            f"auf dem Kartenblatt {row['geology_mapnum']} {row['geology_mapname']}. "
-        )
+        prgph.add_run(". ")
 
     # Add dimensions
     prgph.add_run(
@@ -241,7 +247,7 @@ def hlnug_description(
             if isinstance(motorway_lengths, list):
                 for rname, rlen in zip(motorway_names, motorway_lengths):
                     road_list.append(
-                        f"der {rname} auf einer Länge von {rlen:.1f}\u00a0m"
+                        f"der {rname} auf einer Länge von {int(rlen)}\u00a0m"
                     )
             else:
                 road_list.append(
@@ -256,7 +262,7 @@ def hlnug_description(
             if isinstance(primary_lengths, list):
                 for rname, rlen in zip(primary_names, primary_lengths):
                     road_list.append(
-                        f"der {rname} auf einer Länge von {rlen:.1f}\u00a0m"
+                        f"der {rname} auf einer Länge von {int(rlen)}\u00a0m"
                     )
             else:
                 road_list.append(
@@ -271,7 +277,7 @@ def hlnug_description(
             if isinstance(secondary_lengths, list):
                 for rname, rlen in zip(secondary_names, secondary_lengths):
                     road_list.append(
-                        f"der {rname} auf einer Länge von {rlen:.1f}\u00a0m"
+                        f"der {rname} auf einer Länge von {int(rlen)}\u00a0m"
                     )
             else:
                 road_list.append(
@@ -281,6 +287,41 @@ def hlnug_description(
             f"Die Rutschung wird von {u4human.listed_strings(road_list)} durchkreuzt. "
         )
 
+    else:
+        if row["roads_nearest_motorway_name"]:
+            prgph.add_run(
+                f"In ca. {int(row['roads_nearest_motorway_dist'])}\u00a0m "
+                + "Entfernung vom Mittelpunkt der Rutschung befindet sich die "
+                + f"{row['roads_nearest_motorway_name']}. "
+            )
+        elif row["roads_nearest_primary_name"]:
+            prgph.add_run(
+                f"In ca. {int(row['roads_nearest_primary_dist'])}\u00a0m "
+                + "Entfernung vom Mittelpunkt der Rutschung befindet sich die "
+                + f"{row['roads_nearest_primary_name']}. "
+            )
+        elif row["roads_nearest_secondary_dist"]>0:
+            prgph.add_run(
+                f"In ca. {int(row['roads_nearest_secondary_dist'])}\u00a0m "
+                + "Entfernung vom Mittelpunkt der Rutschung befindet sich "
+            )
+            if row["roads_nearest_secondary_name"]:
+                prgph.add_run(f"die {row['roads_nearest_secondary_name']}. ")
+            else:
+                prgph.add_run("eine nicht benannte Landstraße. ")
+        else:
+            prgph.add_run("Im Umkreis von 1\u00a0km sind keine größeren Straßen vorhanden. ")
+
+    if row["railways_has"]:
+        prgph.add_run(
+            "Eine Bahnlinie durchquert das Gebiet auf "
+            +f"{int(row['railways_length'])}\u00a0m Länge. "
+        )
+    elif row["railways_close"]:
+        prgph.add_run(
+            f"Eine Bahnlinie liegt ca. {int(row['railways_length'])}\u00a0m " + "entfernt vom Mittelpunkt der Rutschung. "
+        )
+
     # Add drill sites
     drill_path = os.path.join(
         web_query_path,
@@ -305,8 +346,6 @@ def landuse(series: gp.GeoSeries, document: Document) -> Document:
     :return: The tex code.
     :rtype: str
     """
-    prgph = document.add_paragraph()
-    prgph.add_run("Landnutzung: ").bold = True
     landuse = ""
     try:
         landuse = eval(series.landuse_names)
@@ -314,6 +353,8 @@ def landuse(series: gp.GeoSeries, document: Document) -> Document:
         landuse = series.landuse_names
     landuse_perc = eval(series.landuse_percent)
     if landuse:
+        prgph = document.add_paragraph()
+        prgph.add_run("Landnutzung: ").bold = True
         prgph.add_run(
             "Der überwiegende Teil wird durch "
             + f"{u4human.landuse_str(series.landuse_major)} bedeckt. "
@@ -342,15 +383,32 @@ def moved_volumes(series: gp.GeoSeries, document: Document) -> Document:
     :rtype: str
     """
     document.add_heading("Höhenveränderungen", level=1)
-    document.add_paragraph(
-        "Im Gebiet um die detektierte Anomalie wurde laut vorliegendem "
-        + "Differenzenplan (HVBG) insgesamt "
-        + f"{series.volumes_moved}\u00a0m³ Material bewegt, "
-        + f"wovon {series.volumes_added}\u00a0m³ hinzugefügt und "
-        + f"{abs(series.volumes_removed)}\u00a0m³ abgetragen wurde. "
-        + f"Dies ergibt eine Gesamtbilanz von {series.volumes_total}\u00a0m³,"
-        + f" in Summe wurde also {u4human.vol_str(series.volumes_total)}."
-    )
+    if np.all(
+        np.abs(
+            [
+                series.volumes_moved,
+                series.volumes_added,
+                series.volumes_removed,
+                series.volumes_total,
+            ]
+        )
+        <= 200
+    ):
+        document.add_paragraph(
+            "Im Gebiet um die detektierte Anomalie wurde laut vorliegendem "
+            + "Differenzenplan (HVBG) keine Bewegung festgestellt."
+        )
+    else:
+        document.add_paragraph(
+            "Im Gebiet um die detektierte Anomalie wurde laut vorliegendem "
+            + "Differenzenplan (HVBG) insgesamt "
+            + f"{series.volumes_moved}\u00a0m³ Material bewegt, "
+            + f"wovon {series.volumes_added}\u00a0m³ hinzugefügt und "
+            + f"{abs(series.volumes_removed)}\u00a0m³ abgetragen wurde. "
+            + f"Dies ergibt eine Gesamtbilanz von {series.volumes_total}"
+            + f"\u00b1{series.volumes_error}\u00a0m³,"
+            + f" in Summe wurde also {u4human.vol_str(series.volumes_total)}."
+        )
     return document
 
 
@@ -547,7 +605,7 @@ def geology(
     prgph.alignment = WD_ALIGN_PARAGRAPH.CENTER
     run = prgph.add_run()
     run.add_picture(
-        img_path + f"_GK25_leg.{img_fmt}", width=docx.shared.Mm(70)
+        img_path + f"_GK25_leg.{img_fmt}", width=docx.shared.Mm(100)
     )
 
     prgph = document.add_paragraph()
@@ -585,7 +643,7 @@ def hydrogeology(
     prgph.alignment = WD_ALIGN_PARAGRAPH.CENTER
     run = prgph.add_run()
     run.add_picture(
-        img_path + f"_HUEK200_leg.{img_fmt}", width=docx.shared.Mm(70)
+        img_path + f"_HUEK200_leg.{img_fmt}", width=docx.shared.Mm(100)
     )
 
     prgph = document.add_paragraph()
@@ -621,7 +679,7 @@ def soils(img_path: os.PathLike, img_fmt: str, document: Document) -> Document:
     prgph.alignment = WD_ALIGN_PARAGRAPH.CENTER
     run = prgph.add_run()
     run.add_picture(
-        img_path + f"_BFD50_leg.{img_fmt}", width=docx.shared.Mm(70)
+        img_path + f"_BFD50_leg.{img_fmt}", width=docx.shared.Mm(100)
     )
 
     prgph = document.add_paragraph()