diff --git a/src/functionObjects/field/ddt/ddt.C b/src/functionObjects/field/ddt/ddt.C
index 29a1917f760258bb2aebf4fd52d5c70865aeb0c5..a0b01a54989b8e3d4c8f444701f5de70a36aa471 100644
--- a/src/functionObjects/field/ddt/ddt.C
+++ b/src/functionObjects/field/ddt/ddt.C
@@ -6,6 +6,7 @@
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
     Copyright (C) 2017 OpenFOAM Foundation
+    Copyright (C) 2020 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -53,15 +54,14 @@ bool Foam::functionObjects::ddt::calc()
         return false;
     }
 
-    bool processed = false;
-
-    processed = processed || calcDdt<scalar>();
-    processed = processed || calcDdt<vector>();
-    processed = processed || calcDdt<sphericalTensor>();
-    processed = processed || calcDdt<symmTensor>();
-    processed = processed || calcDdt<tensor>();
-
-    return processed;
+    return
+    (
+        calcDdt<scalar>()
+     || calcDdt<vector>()
+     || calcDdt<sphericalTensor>()
+     || calcDdt<symmTensor>()
+     || calcDdt<tensor>()
+    );
 }
 
 
@@ -80,10 +80,4 @@ Foam::functionObjects::ddt::ddt
 }
 
 
-// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
-
-Foam::functionObjects::ddt::~ddt()
-{}
-
-
 // ************************************************************************* //
diff --git a/src/functionObjects/field/ddt/ddt.H b/src/functionObjects/field/ddt/ddt.H
index dad92a8b243f9482c582d8eebb84fd2f3e3ee743..47ac9fb4587172ab41cf736c44e052f6afc95608 100644
--- a/src/functionObjects/field/ddt/ddt.H
+++ b/src/functionObjects/field/ddt/ddt.H
@@ -6,6 +6,7 @@
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
     Copyright (C) 2017 OpenFOAM Foundation
+    Copyright (C) 2020 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -40,6 +41,7 @@ See also
 
 SourceFiles
     ddt.C
+    ddtTemplates.C
 
 \*---------------------------------------------------------------------------*/
 
@@ -65,12 +67,13 @@ class ddt
 {
     // Private Member Functions
 
-        //- Calculate the magnitude of the field and register the result
+        //- Calculate and store the result
+        //  \return true if fieldName_ was known and had the correct type
         template<class Type>
         bool calcDdt();
 
-        //- Calculate the time derivative of the field and return
-        //  true if successful
+        //- Calculate time derivative of the field
+        //  \return true on success
         virtual bool calc();
 
 
@@ -92,7 +95,7 @@ public:
 
 
     //- Destructor
-    virtual ~ddt();
+    virtual ~ddt() = default;
 };
 
 
diff --git a/src/functionObjects/field/ddt/ddtTemplates.C b/src/functionObjects/field/ddt/ddtTemplates.C
index a54e866195dae155d4d857bbba5cec0d4c0969be..aada4ce4bf508b4a91f0938364f450d00e7a0770 100644
--- a/src/functionObjects/field/ddt/ddtTemplates.C
+++ b/src/functionObjects/field/ddt/ddtTemplates.C
@@ -6,7 +6,7 @@
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
     Copyright (C) 2017 OpenFOAM Foundation
-    Copyright (C) 2019 OpenCFD Ltd.
+    Copyright (C) 2019-2020 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -35,7 +35,7 @@ bool Foam::functionObjects::ddt::calcDdt()
 {
     typedef GeometricField<Type, fvPatchField, volMesh> VolFieldType;
 
-    if (foundObject<VolFieldType>(fieldName_))
+    if (foundObject<VolFieldType>(fieldName_, false))
     {
         return store
         (