diff --git a/src/editor/edmap.cpp b/src/editor/edmap.cpp
index ba6ccaab8..0c15c3659 100644
--- a/src/editor/edmap.cpp
+++ b/src/editor/edmap.cpp
@@ -576,10 +576,12 @@ global void EditorTileChanged(int x, int y)
 **      TileFill( centerx, centery, tile_type_water, map_width )
 **      will fill map with water...
 */
-global void TileFill(int x, int y, int tile, int size)
+local void TileFill(int x, int y, int tile, int size)
 {
-    int ix, ax;
-    int iy, ay;
+    int ix;
+    int ax;
+    int iy;
+    int ay;
 
 
     ix = x - size / 2;
@@ -587,14 +589,24 @@ global void TileFill(int x, int y, int tile, int size)
     iy = y - size / 2;
     ay = y + size / 2;
 
-    if ( ix < 0 ) ix = 0;
-    if ( ax >= TheMap.Width ) ax = TheMap.Width - 1;
-    if ( iy < 0 ) iy = 0;
-    if ( ay >= TheMap.Height ) ay = TheMap.Height - 1;
+    if ( ix < 0 ) {
+	ix = 0;
+    }
+    if ( ax >= TheMap.Width ) {
+	ax = TheMap.Width - 1;
+    }
+    if ( iy < 0 ) {
+	iy = 0;
+    }
+    if ( ay >= TheMap.Height ) {
+	ay = TheMap.Height - 1;
+    }
 
-    for( x = ix; x <= ax; x++ )
-      for( y = iy; y <= ay; y++ )
-        EditorChangeTile( x, y, tile, 15 );
+    for( x = ix; x <= ax; x++ ) {
+	for( y = iy; y <= ay; y++ ) {
+	    EditorChangeTile( x, y, tile, 15 );
+	}
+    }
 }
 
 #define WATER_TILE      0x10
@@ -603,90 +615,120 @@ global void TileFill(int x, int y, int tile, int size)
 #define WOOD_TILE       0x70
 #define ROCK_TILE       0x80
 
-global void EditorRandomizeTile( int tile, int count, int max_size )
+/**
+**	FIXME: docu
+*/
+local void EditorRandomizeTile( int tile, int count, int max_size )
 {
-  int mx = TheMap.Width;
-  int my = TheMap.Height;
-  int i;
-  
-  for( i = 0; i < count; i++ )
-    {
-    int rx = rand() % (mx / 2);
-    int ry = rand() % (my / 2);
-    int rz = rand() % max_size + 1;
-	    
-    TileFill( rx, ry, tile, rz );
-    TileFill( mx - rx - 1, ry, tile, rz );
-    TileFill( rx, my - ry - 1, tile, rz );
-    TileFill( mx - rx - 1, mx - ry - 1, tile, rz );
-    }
+    int mx;
+    int my;
+    int i;
+    int rx;
+    int ry;
+    int rz;
 
+    mx = TheMap.Width;
+    my = TheMap.Height;
+
+    for( i = 0; i < count; i++ ) {
+	rx = rand() % (mx / 2);
+	ry = rand() % (my / 2);
+	rz = rand() % max_size + 1;
+    
+	TileFill( rx, ry, tile, rz );
+	TileFill( mx - rx - 1, ry, tile, rz );
+	TileFill( rx, my - ry - 1, tile, rz );
+	TileFill( mx - rx - 1, mx - ry - 1, tile, rz );
+    }
 }
 
-global void EditorRandomizeUnit( const char *unit_type, int count, int value )
+/**
+**	FIXME: docu
+*/
+local void EditorRandomizeUnit( const char *unit_type, int count, int value )
 {
-  int mx = TheMap.Width;
-  int my = TheMap.Height;
-  int i;
-  UnitType* type = UnitTypeByIdent(unit_type);
-  
-  for( i = 0; i < count; i++ )
-    {
+    int mx;
+    int my;
+    int i;
+    int rx;
+    int ry;
+    int tile;
+    int z;
+    int tw;
+    int th;
+    UnitType* type;
     Unit *unit;
-    int rx = rand() % (mx / 2);
-    int ry = rand() % (my / 2);
-    int tile = GRASS_TILE;
-    int z = type->TileHeight;
-    
-    //FIXME: vladi: the idea is simple: make proper land for unit(s) :)
-    TileFill( rx, ry, tile, z*2 );
-    TileFill( mx - rx - 1, ry, tile, z*2 );
-    TileFill( rx, my - ry - 1, tile, z*2 );
-    TileFill( mx - rx - 1, mx - ry - 1, tile, z*2 );
-    
-    unit=MakeUnitAndPlace( rx, ry , type, &Players[15]);
-    unit->Value=value;
-    unit=MakeUnitAndPlace( mx - rx - 1, ry, type, &Players[15]);
-    unit->Value=value;
-    unit=MakeUnitAndPlace( rx, my - ry - 1, type, &Players[15]);
-    unit->Value=value;
-    unit=MakeUnitAndPlace( mx - rx - 1, mx - ry - 1, type, &Players[15]);
-    unit->Value=value;
-    }
 
+    mx = TheMap.Width;
+    my = TheMap.Height;
+    type = UnitTypeByIdent(unit_type);
+    tw = type->TileWidth;
+    th = type->TileHeight;
+
+    for( i = 0; i < count; i++ ) {
+	rx = rand() % (mx / 2 - tw + 1);
+	ry = rand() % (my / 2 - th + 1);
+	tile = GRASS_TILE;
+	z = type->TileHeight;
+
+	// FIXME: vladi: the idea is simple: make proper land for unit(s) :)
+	// FIXME: handle units larger than 1 square
+	TileFill( rx, ry, tile, z*2 );
+	TileFill( mx - rx - 1, ry, tile, z*2 );
+	TileFill( rx, my - ry - 1, tile, z*2 );
+	TileFill( mx - rx - 1, mx - ry - 1, tile, z*2 );
+
+	// FIXME: can overlap units
+	unit=MakeUnitAndPlace( rx, ry , type, &Players[15]);
+	unit->Value=value;
+	unit=MakeUnitAndPlace( mx - rx - tw, ry, type, &Players[15]);
+	unit->Value=value;
+	unit=MakeUnitAndPlace( rx, my - ry - th, type, &Players[15]);
+	unit->Value=value;
+	unit=MakeUnitAndPlace( mx - rx - tw, mx - ry - th, type, &Players[15]);
+	unit->Value=value;
+    }
 }
 
 /**
 **	Destroy all units
 */
-global void EditorDestroyAllUnits()
+local void EditorDestroyAllUnits(void)
 {
     int i;
-    for( i = 0; i < NumUnits; i++) 
-    {
-    Unit* unit=Units[i];
-    RemoveUnit( unit ); 
-    UnitLost( unit ); 
-    UnitClearOrders( unit );
-    ReleaseUnit( unit ); 
+    Unit* unit;
+
+    for( i = 0; i < NumUnits; i++) {
+	unit=Units[i];
+	RemoveUnit( unit ); 
+	UnitLost( unit ); 
+	UnitClearOrders( unit );
+	ReleaseUnit( unit ); 
     }
 }
 
-global void EditorCreateRandomMap()
+/**
+**	FIXME: docu
+**
+**	FIXME: If called more than once the old mines should be removed
+*/
+global void EditorCreateRandomMap(void)
 {
-  int mz = TheMap.Width > TheMap.Height ? TheMap.Width : TheMap.Height;
-  
-  // make water-base
-  TileFill( 0, 0, WATER_TILE, mz * 3 );
-  // remove all units
-  EditorDestroyAllUnits();
-  
-  EditorRandomizeTile( COAST_TILE, 10, 16 );
-  EditorRandomizeTile( GRASS_TILE, 20, 16 );
-  EditorRandomizeTile( WOOD_TILE,  60,  4 );
-  EditorRandomizeTile( ROCK_TILE,  30,  2 );
+    int mz;
+ 
+    mz = TheMap.Width > TheMap.Height ? TheMap.Width : TheMap.Height;
 
-  EditorRandomizeUnit( "unit-gold-mine",  5,  50000 );
+    // make water-base
+    TileFill( 0, 0, WATER_TILE, mz * 3 );
+    // remove all units
+    EditorDestroyAllUnits();
+
+    EditorRandomizeTile( COAST_TILE, 10, 16 );
+    EditorRandomizeTile( GRASS_TILE, 20, 16 );
+    EditorRandomizeTile( WOOD_TILE,  60,  4 );
+    EditorRandomizeTile( ROCK_TILE,  30,  2 );
+
+    EditorRandomizeUnit( "unit-gold-mine",  5,  50000 );
 }
 
 //@}
diff --git a/src/include/editor.h b/src/include/editor.h
index 3d5b04e5d..de9ad7652 100644
--- a/src/include/editor.h
+++ b/src/include/editor.h
@@ -72,7 +72,7 @@ extern void ChangeTile(int x, int y, int tile);
     /// Update surroundings for tile changes
 extern void EditorTileChanged(int x, int y);
     /// Make random map
-extern void EditorCreateRandomMap();
+extern void EditorCreateRandomMap(void);
 
 //@}