-diff --git a/src/Canvas/canvas_mgr.cxx b/src/Canvas/canvas_mgr.cxx
-index 6646b77..820934e 100644
---- a/src/Canvas/canvas_mgr.cxx
-+++ b/src/Canvas/canvas_mgr.cxx
-@@ -18,6 +18,8 @@
-
- #include "canvas_mgr.hxx"
-
-+#include <osg/Version>
-+
- #include <Cockpit/od_gauge.hxx>
- #include <Main/fg_props.hxx>
- #include <Scripting/NasalModelData.hxx>
-@@ -49,7 +51,11 @@ static sc::Placements addSceneObjectPlacement( SGPropertyNode* placement,
- model_data->getNode(),
- placement,
- canvas->getTexture(),
-+#if OSG_VERSION_LESS_THAN(3,3,2)
- canvas->getCullCallback(),
-+#else
-+ dynamic_cast<osg::NodeCallback*>(canvas->getCullCallback()),
-+#endif
- canvas
- );
- }
-diff --git a/src/FDM/groundcache.cxx b/src/FDM/groundcache.cxx
-index 0b34115..379d70a 100644
---- a/src/FDM/groundcache.cxx
-+++ b/src/FDM/groundcache.cxx
-@@ -36,6 +36,7 @@
- #include <osg/MatrixTransform>
- #include <osg/PositionAttitudeTransform>
- #include <osg/CameraView>
-+#include <osg/Version>
-
- #include <simgear/sg_inlines.h>
- #include <simgear/constants.h>
-@@ -92,7 +93,11 @@ public:
- }
- virtual void apply(osg::Node& node)
- {
-+#if OSG_VERSION_LESS_THAN(3,3,2)
- if (!testBoundingSphere(node.getBound()))
-+#else
-+ if (!testBoundingSphere(node.getBoundingSphere()))
-+#endif
- return;
-
- addBoundingVolume(node);
-@@ -100,7 +105,11 @@ public:
-
- virtual void apply(osg::Group& group)
- {
-+#if OSG_VERSION_LESS_THAN(3,3,2)
- if (!testBoundingSphere(group.getBound()))
-+#else
-+ if (!testBoundingSphere(group.getBoundingSphere()))
-+#endif
- return;
-
- simgear::BVHSubTreeCollector::NodeList parentNodeList;
-@@ -133,7 +142,11 @@ public:
- if (transform.getReferenceFrame() != osg::Transform::RELATIVE_RF)
- return;
-
-+#if OSG_VERSION_LESS_THAN(3,3,2)
- if (!testBoundingSphere(transform.getBound()))
-+#else
-+ if (!testBoundingSphere(transform.getBoundingSphere()))
-+#endif
- return;
-
- osg::Matrix inverseMatrix;
-diff --git a/src/Scenery/scenery.cxx b/src/Scenery/scenery.cxx
-index 73d0b7f..d5fa933 100644
---- a/src/Scenery/scenery.cxx
-+++ b/src/Scenery/scenery.cxx
-@@ -34,6 +34,7 @@
- #include <osg/PositionAttitudeTransform>
- #include <osg/CameraView>
- #include <osg/LOD>
+--- flightgear-3.2.0/src/Model/panelnode.cxx.orig 2014-08-17 15:40:24.000000000 +0200
++++ flightgear-3.2.0/src/Model/panelnode.cxx 2014-11-02 12:27:29.031193511 +0100
+@@ -10,6 +10,7 @@
+ #include <osg/Geode>
+ #include <osg/Switch>
+ #include <osg/BlendFunc>
+#include <osg/Version>
- #include <osgViewer/Viewer>
-
-@@ -112,7 +113,11 @@ public:
- {
- if (&node == _skipNode)
- return;
-+#if OSG_VERSION_LESS_THAN(3,3,2)
- if (!testBoundingSphere(node.getBound()))
-+#else
-+ if (!testBoundingSphere(node.getBoundingSphere()))
-+#endif
- return;
-
- addBoundingVolume(node);
-@@ -122,7 +127,11 @@ public:
- {
- if (&group == _skipNode)
- return;
-+#if OSG_VERSION_LESS_THAN(3,3,2)
- if (!testBoundingSphere(group.getBound()))
-+#else
-+ if (!testBoundingSphere(group.getBoundingSphere()))
-+#endif
- return;
-
- traverse(group);
-@@ -153,7 +162,11 @@ private:
- if (transform.getReferenceFrame() != osg::Transform::RELATIVE_RF)
- return;
+ #include <simgear/compiler.h>
+ #include <simgear/structure/exception.hxx>
+@@ -315,7 +316,11 @@
+ }
+ osg::BoundingBox
+#if OSG_VERSION_LESS_THAN(3,3,2)
- if (!testBoundingSphere(transform.getBound()))
+ FGPanelNode::computeBound() const
+#else
-+ if (!testBoundingSphere(transform.getBoundingSphere()))
++FGPanelNode::computeBoundingBox() const
+#endif
- return;
+ {
- osg::Matrix inverseMatrix;
-diff --git a/src/Scenery/tileentry.cxx b/src/Scenery/tileentry.cxx
-index 31d14c7..d49c1b1 100644
---- a/src/Scenery/tileentry.cxx
-+++ b/src/Scenery/tileentry.cxx
-@@ -29,6 +29,7 @@
- #include <istream>
-
- #include <osg/LOD>
+ osg::Vec3 coords[3];
+--- flightgear-3.2.0/src/Model/panelnode.hxx.orig 2014-08-17 15:40:24.000000000 +0200
++++ flightgear-3.2.0/src/Model/panelnode.hxx 2014-11-02 12:27:11.551194127 +0100
+@@ -4,6 +4,7 @@
+ #include <osg/Vec3>
+ #include <osg/Matrix>
+ #include <osg/Drawable>
+#include <osg/Version>
- #include <simgear/bucket/newbucket.hxx>
- #include <simgear/debug/logstream.hxx>
-@@ -81,7 +82,11 @@ void TileEntry::prep_ssg_node(float vis) {
- return;
- // visibility can change from frame to frame so we update the
- // range selector cutoff's each time.
+ #include <memory>
+ #include <simgear/structure/SGSharedPtr.hxx>
+@@ -30,7 +31,11 @@
+ { drawImplementation(*renderInfo.getState()); }
+
+ void drawImplementation(osg::State& state) const;
+#if OSG_VERSION_LESS_THAN(3,3,2)
- float bounding_radius = _node->getChild(0)->getBound().radius();
+ virtual osg::BoundingBox computeBound() const;
+#else
-+ float bounding_radius = _node->getChild(0)->getBoundingSphere().radius();
++ virtual osg::BoundingBox computeBoundingBox() const;
+#endif
- _node->setRange( 0, 0, vis + bounding_radius );
- }
+ /** Return true, FGPanelNode does support accept(PrimitiveFunctor&). */
+ virtual bool supports(const osg::PrimitiveFunctor&) const { return true; }