diff --git a/src/AIModel/AIBase.cxx b/src/AIModel/AIBase.cxx
index d6ba8d4..f3b82f0 100644
--- a/src/AIModel/AIBase.cxx
+++ b/src/AIModel/AIBase.cxx
@@ -185,6 +185,7 @@ bool FGAIBase::init(bool search_in_AI_path) {
 
     }
     if (model.get()) {
+        model->setNodeMask(model->getNodeMask() & ~SG_NODEMASK_TERRAIN_BIT);
         aip.init( model.get() );
         aip.setVisible(true);
         invisible = false;
@@ -201,7 +202,7 @@ bool FGAIBase::init(bool search_in_AI_path) {
 
 void FGAIBase::initModel(osg::Node *node)
 {
-//  model->setNodeMask(model->getNodeMask() & ~SG_NODEMASK_TERRAIN_BIT);
+    //model->setNodeMask(model->getNodeMask() & ~SG_NODEMASK_TERRAIN_BIT);
     if (model.get()) {
 //        aip.init( model.get() );
 //        aip.setVisible(true);
diff --git a/src/AIModel/AICarrier.cxx b/src/AIModel/AICarrier.cxx
index 4c49c28..43da32d 100644
--- a/src/AIModel/AICarrier.cxx
+++ b/src/AIModel/AICarrier.cxx
@@ -356,14 +356,13 @@ void FGAICarrier::initModel(osg::Node *node)
     // the aircraft local cache, only set the HOT traversal bit on
     // selected objects.
 
-    // osg::Node* sel = aip.getSceneGraph();
     // Clear the HOT traversal flag
     // Selectively set that flag again for wires/cats/solid objects.
     // Attach a pointer to this carrier class to those objects.
     SG_LOG(SG_GENERAL, SG_ALERT, "AICarrier::initModel() visit" );
     FGCarrierVisitor carrierVisitor(this, wire_objects, catapult_objects, solid_objects);
     node->accept(carrierVisitor);
-
+    model->setNodeMask(node->getNodeMask() & SG_NODEMASK_TERRAIN_BIT | model->getNodeMask());
 }
 
 void FGAICarrier::bind() {

