diff --git a/src/core/expression/qgsexpressionnodeimpl.cpp b/src/core/expression/qgsexpressionnodeimpl.cpp index deea72d357ac..30a701ff641b 100644 --- a/src/core/expression/qgsexpressionnodeimpl.cpp +++ b/src/core/expression/qgsexpressionnodeimpl.cpp @@ -1237,13 +1237,16 @@ QVariant QgsExpressionNodeColumnRef::evalNode( QgsExpression *parent, const QgsE } } - if ( context && context->hasFeature() ) + if ( context ) { QgsFeature feature = context->feature(); - if ( index >= 0 ) - return feature.attribute( index ); - else - return feature.attribute( mName ); + if ( feature.isValid() ) + { + if ( index >= 0 ) + return feature.attribute( index ); + else + return feature.attribute( mName ); + } } return QVariant( '[' + mName + ']' ); }