diff --git a/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCodeContext.C b/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCodeContext.C
index 79106b07331495fe662a34cd32f2a03ddd029c5e..602b713775063f200950c6c6012ca17ca0ff0642 100644
--- a/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCodeContext.C
+++ b/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCodeContext.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2011 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 2011-2011, 2019 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
                             | Copyright (C) 2011-2016 OpenFOAM Foundation
@@ -124,11 +124,16 @@ Foam::dynamicCodeContext::dynamicCodeContext(const dictionary& dict)
 void Foam::dynamicCodeContext::addLineDirective
 (
     string& code,
-    const label lineNum,
+    label lineNum,
     const fileName& name
 )
 {
-    code = "#line " + Foam::name(lineNum + 1) + " \"" + name + "\"\n" + code;
+    ++lineNum;  // Change from 0-based to 1-based
+
+    if (lineNum > 0 && !name.empty())
+    {
+        code = "#line " + Foam::name(lineNum) + " \"" + name + "\"\n" + code;
+    }
 }
 
 
diff --git a/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCodeContext.H b/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCodeContext.H
index dde6695a3226445274970af48f5b62840a716ab5..7458bcb2ab1b17ea7d46999fc53295fa398c1938 100644
--- a/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCodeContext.H
+++ b/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCodeContext.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2011 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 2011-2011, 2019 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
                             | Copyright (C) 2011-2016 OpenFOAM Foundation
@@ -80,7 +80,7 @@ public:
     // Constructors
 
         //- Construct from a dictionary
-        dynamicCodeContext(const dictionary&);
+        dynamicCodeContext(const dictionary& dict);
 
 
     // Member functions
@@ -128,10 +128,11 @@ public:
         }
 
         //- Helper: add \#line directive
+        //  The lineNum is 0-based. No-op if the lineNum is negative.
         static void addLineDirective
         (
-            string&,
-            const label lineNum,
+            string& code,
+            label lineNum,
             const fileName& name
         );
 };