diff --git a/src/Airports/GenAirports850/lights.cxx b/src/Airports/GenAirports850/lights.cxx
index b434f312..f41a732d 100644
--- a/src/Airports/GenAirports850/lights.cxx
+++ b/src/Airports/GenAirports850/lights.cxx
@@ -137,7 +137,7 @@ superpoly_list Runway::gen_runway_edge_lights( bool recip )
     for ( i = 0; i < divs; ++i ) {
 	pt1 += inc1;
 	pt2 += inc2;
-        if ( dist > 2000.0 ) {
+        if ( dist > 610.0 || dist > rwy.length / 2 ) {
             w_lights.push_back( pt1 );
             w_normals.push_back( normal );
             w_lights.push_back( pt2 );
@@ -200,9 +200,7 @@ superpoly_list Runway::gen_runway_threshold_lights( const int kind, bool recip )
     point_list r_normals; r_normals.clear();
     int i;
 
-    SG_LOG(SG_GENERAL, SG_DEBUG, "gen threshold " << rwy.rwnum[0] );
-
-    point_list corner = gen_corners( 0.0, rwy.threshold[0], rwy.threshold[1], 0.0 );
+    point_list corner = gen_corners( 2.0, rwy.threshold[0], rwy.threshold[1], 2.0 );
 
     // determine the start point.
     Point3D ref1, ref2, ref3, ref4;
@@ -224,21 +222,20 @@ superpoly_list Runway::gen_runway_threshold_lights( const int kind, bool recip )
     }
     left_hdg = length_hdg - 90.0;
     if ( left_hdg < 0 ) { left_hdg += 360.0; }
-    SG_LOG(SG_GENERAL, SG_DEBUG, "length hdg = " << length_hdg << " left heading = " << left_hdg );
 
     Point3D normal1 = gen_runway_light_vector( 3.0, recip );
     Point3D normal2 = gen_runway_light_vector( 3.0, !recip );
 
-    // offset 5' downwind
+    // offset 1m downwind
     geo_direct_wgs_84 ( ref1.lat(), ref1.lon(), length_hdg, 
-                        -5 * SG_FEET_TO_METER, &lat, &lon, &r );
+                        -1.0, &lat, &lon, &r );
     ref1 = Point3D( lon, lat, 0.0 );
     geo_direct_wgs_84 ( ref2.lat(), ref2.lon(), length_hdg, 
-                        -5 * SG_FEET_TO_METER, &lat, &lon, &r );
+                        -1.0, &lat, &lon, &r );
     ref2 = Point3D( lon, lat, 0.0 );
 
-    // five lights for each side
-    for ( i = 0; i < 5; ++i ) {
+    // four lights for each side
+    for ( i = 0; i < 4; ++i ) {
         g_lights.push_back( ref1 );
         g_normals.push_back( normal1 );
     
@@ -251,12 +248,12 @@ superpoly_list Runway::gen_runway_threshold_lights( const int kind, bool recip )
         r_lights.push_back( ref2 );
         r_normals.push_back( normal2 );
 
-        // offset 10' towards center
+        // offset 3m towards center
         geo_direct_wgs_84 ( ref1.lat(), ref1.lon(), left_hdg, 
-                            -10 * SG_FEET_TO_METER, &lat, &lon, &r );
+                            -3, &lat, &lon, &r );
         ref1 = Point3D( lon, lat, 0.0 );
         geo_direct_wgs_84 ( ref2.lat(), ref2.lon(), left_hdg, 
-                            10 * SG_FEET_TO_METER, &lat, &lon, &r );
+                            3, &lat, &lon, &r );
         ref2 = Point3D( lon, lat, 0.0 );
     }
 
@@ -299,7 +296,7 @@ superpoly_list Runway::gen_runway_threshold_lights( const int kind, bool recip )
 }
 
 
-// generate runway center line lighting, 50' spacing.
+// generate runway center line lighting, 15m spacing.
 superpoly_list Runway::gen_runway_center_line_lights( bool recip )
 {
     point_list w_lights; w_lights.clear();
@@ -308,8 +305,7 @@ superpoly_list Runway::gen_runway_center_line_lights( bool recip )
     point_list r_normals; r_normals.clear();
 
     double len = rwy.length;
-    // this should be 25' technically but I'm trying 50' to space things out
-    int divs = (int)(len / (50.0*SG_FEET_TO_METER)) + 1;
+    int divs = (int)(len / 15.0) + 1;
 
     Point3D normal = gen_runway_light_vector( 3.0, recip );
     point_list corner = gen_corners( 2.0, rwy.threshold[0], rwy.threshold[1], 2.0 );
@@ -333,10 +329,10 @@ superpoly_list Runway::gen_runway_center_line_lights( bool recip )
     bool use_white = true;
 
     while ( dist > 0.0 ) {
-        if ( dist > 3000.0 ) {
+        if ( dist > 900.0 ) {
             w_lights.push_back( pt1 );
             w_normals.push_back( normal );
-        } else if ( dist > 1000.0 ) {
+        } else if ( dist > 300.0 ) {
             if ( use_white ) {
                 w_lights.push_back( pt1 );
                 w_normals.push_back( normal );