diff --git a/download_LoD2_from_LGL_BW.py b/download_LoD2_from_LGL_BW.py
index f5f2317715d09d888ee6a875556a01b9e50f856e..38f95fb35082f83bf49ee207fe3487e18a3ce905 100644
--- a/download_LoD2_from_LGL_BW.py
+++ b/download_LoD2_from_LGL_BW.py
@@ -221,7 +221,7 @@ def parse_arguments():
         epilog="""
 Examples:
   python download_LoD2_from_LGL_BW.py StuttgartCenter "POLYGON((9.175287 48.780916, 9.185501 48.777522, 9.181467 48.773704, 9.174429 48.768472, 9.168807 48.773902, 9.175287 48.780916))"
-  python download_LoD2_from_LGL_BW.py Freiburg "79098,79102"
+  python download_LoD2_from_LGL_BW.py Freiburg "79098,79102" --output-folder="/path/to/FreiburgFolder"
   python download_LoD2_from_LGL_BW.py Möhringen "70567" --download-only
 """
     )
@@ -239,21 +239,24 @@ Examples:
                         help='Path to SimStadt installation folder. By default, tries to find it on the Desktop.')
 
     parser.add_argument('--output-folder', type=Path, default=None,
-                        help='Folder in which the tiles should be downloaded and extracted. By default, use the folder of the current script.')
+                        help='Folder in which the tiles should be downloaded and extracted. By default, use the folder of the current script / name.proj.')
 
     return parser.parse_args()
 
 
-def main(location_name: str, wkt_or_zipcode: str, download_only: bool = False, simstadt_folder: Path | None = None):
+def main(location_name: str, wkt_or_zipcode: str, download_only: bool = False,
+         simstadt_folder: Path | None = None, output_folder: Path | None = None):
     """Main function to process arguments and run the download/extraction"""
 
     # Validate location name
     if ' ' in location_name:
         raise ValueError("Location name should not contain spaces: 'Some City' -> 'SomeCity'")
 
-    # Create output directory
-    output_dir = SCRIPT_DIR / (location_name + '.proj')
-    output_dir.mkdir(parents=True, exist_ok=True)
+    if not output_folder:
+        # Create output directory
+        output_folder = SCRIPT_DIR / (location_name + '.proj')
+
+    output_folder.mkdir(parents=True, exist_ok=True)
 
     # Get WKT string
     wkt_str = get_wkt(wkt_or_zipcode)
@@ -262,7 +265,7 @@ def main(location_name: str, wkt_or_zipcode: str, download_only: bool = False, s
     x1, x2, y1, y2 = wkt_polygon_to_grid_coords(location_name, wkt_str)
 
     # Download region
-    download_whole_region(output_dir, wkt_str, x1, x2, y1, y2)
+    download_whole_region(output_folder, wkt_str, x1, x2, y1, y2)
 
     # Extract region if not download-only
     if not download_only:
@@ -272,7 +275,7 @@ def main(location_name: str, wkt_or_zipcode: str, download_only: bool = False, s
                 "No SimStadt installation found! Please provide --simstadt-folder or use --download-only.")
             return
 
-        extract_region(output_dir, location_name, wkt_str, simstadt_folder)
+        extract_region(output_folder, location_name, wkt_str, simstadt_folder)
     else:
         logger.info("Download-only mode: Skipping region extraction.")
 
@@ -281,4 +284,4 @@ def main(location_name: str, wkt_or_zipcode: str, download_only: bool = False, s
 
 if __name__ == '__main__':
     args = parse_arguments()
-    main(args.name, args.region, args.download_only, args.simstadt_folder)
+    main(args.name, args.region, args.download_only, args.simstadt_folder, args.output_folder)