diff --git a/src/gui/editorwidgets/qgsrelationreferencewidget.cpp b/src/gui/editorwidgets/qgsrelationreferencewidget.cpp index 8582613316e..8873197c32c 100644 --- a/src/gui/editorwidgets/qgsrelationreferencewidget.cpp +++ b/src/gui/editorwidgets/qgsrelationreferencewidget.cpp @@ -365,7 +365,11 @@ QVariant QgsRelationReferenceWidget::foreignKey() } else { - if ( !mFeature.isValid() ) + if ( mReferencingFieldIdx < 0 || mReferencingFieldIdx >= mReferencingLayer->fields().count() ) + { + return QVariant(); + } + else if ( !mFeature.isValid() ) { return QVariant( mReferencingLayer->fields().at( mReferencingFieldIdx ).type() ); }