diff --git a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.C b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.C index 91f4c9bf7..e1a56f957 100644 --- a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.C +++ b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -1164,11 +1164,18 @@ void Foam::GeometricField::operator= this->dimensions() = gf.dimensions(); - // Transfer the storage from the tmp - primitiveFieldRef().transfer - ( - const_cast&>(gf.primitiveField()) - ); + if (tgf.isTmp()) + { + // Transfer the storage from the tmp + primitiveFieldRef().transfer + ( + const_cast&>(gf.primitiveField()) + ); + } + else + { + primitiveFieldRef() = gf.primitiveField(); + } boundaryFieldRef() = gf.boundaryField();