diff -ruN org/SimGear-0.3.10/simgear/scene/model/shadowvolume.cxx SimGear/SimGear/simgear/scene/model/shadowvolume.cxx
--- org/SimGear-0.3.10/simgear/scene/model/shadowvolume.cxx	2006-03-15 07:16:08.000000000 -0800
+++ SimGear/SimGear/simgear/scene/model/shadowvolume.cxx	2006-11-21 22:18:10.000000000 -0800
@@ -936,6 +936,17 @@
 void SGShadowVolume::setupShadows( double lon, double lat,
 		double gst, double SunRightAscension, double SunDeclination, double sunAngle) {
 
+#ifdef __APPLE__
+	// FIXME: Find a better place for doing this.
+	// At the time SGShadowVolume is called, OpenGL extensions and 
+	// AlphaBits/StencilBits are not properly recognized on Macs. 
+	// so I simply re-initialize it when called for the first time
+	static bool re_initialized = false;
+	if (!re_initialized) {
+		this->init(sim_rendering);
+		re_initialized = true;
+	}
+#endif
 	shadowsAC_enabled = sim_rendering->getBoolValue("shadows-ac", false);
 	shadowsAC_transp_enabled = sim_rendering->getBoolValue("shadows-ac-transp", false);
 	shadowsAI_enabled = sim_rendering->getBoolValue("shadows-ai", false);
