Index: src/core/qgsvectorlayer.cpp =================================================================== --- src/core/qgsvectorlayer.cpp (revision 15380) +++ src/core/qgsvectorlayer.cpp (working copy) @@ -2678,7 +2678,23 @@ QString errorMsg; if ( !readSymbology( layer_node, errorMsg ) ) { - return false; + // Originally just returned false, meaning layer fails to load. This is + // very confusing for users if symbology fails to load - bad layer handler assumes + // that this must be due to missing file, so keeps prompting for filename. + // + // Would be better to provide user with information from errorMsg about why this + // has failed - but in the meantime this is a start. + + // Set a default renderer if symbology fails to load (eg missing renderer plugin) + if ( mUsingRendererV2 ) + { + setRendererV2( QgsFeatureRendererV2::defaultRenderer( geometryType() ) ); + } + else + { + QgsSingleSymbolRenderer *renderer = new QgsSingleSymbolRenderer( geometryType() ); + setRenderer( renderer ); + } } updateFieldMap();