diff --git a/src/core/qgslayerdefinition.cpp b/src/core/qgslayerdefinition.cpp index b9e0ad01a6b..e9f2f74ec5f 100644 --- a/src/core/qgslayerdefinition.cpp +++ b/src/core/qgslayerdefinition.cpp @@ -214,6 +214,11 @@ bool QgsLayerDefinition::exportLayerDefinition( QDomDocument doc, const QList layers = root->findLayers(); Q_FOREACH ( QgsLayerTreeLayer *layer, layers ) { + if ( ! layer->layer() ) + { + QgsDebugMsgLevel( QStringLiteral( "Not a valid map layer: skipping %1" ).arg( layer->name( ) ), 4 ); + continue; + } QDomElement layerelm = doc.createElement( QStringLiteral( "maplayer" ) ); layer->layer()->writeLayerXml( layerelm, doc, context ); layerselm.appendChild( layerelm );