diff --git a/src/OpenFOAM/primitives/functions/Function1/Function1/Function1New.C b/src/OpenFOAM/primitives/functions/Function1/Function1/Function1New.C
index 96c7dad4ea4ed014a68308e9d8eaefb857bb5c79..1fa65b93c5ce829d7afd8c5ffb0f8f07bb68e885 100644
--- a/src/OpenFOAM/primitives/functions/Function1/Function1/Function1New.C
+++ b/src/OpenFOAM/primitives/functions/Function1/Function1/Function1New.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2018 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 2018-2019 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
                             | Copyright (C) 2011-2017 OpenFOAM Foundation
@@ -52,13 +52,13 @@ Foam::autoPtr<Foam::Function1<Type>> Foam::Function1<Type>::New
 
         if (!cstrIter.found())
         {
-            FatalErrorInFunction
+            FatalIOErrorInFunction(dict)
                 << "Unknown Function1 type "
                 << Function1Type << " for Function1 "
                 << entryName << nl << nl
                 << "Valid Function1 types :" << nl
                 << dictionaryConstructorTablePtr_->sortedToc() << nl
-                << exit(FatalError);
+                << exit(FatalIOError);
         }
 
         return cstrIter()(entryName, coeffsDict);
@@ -90,23 +90,31 @@ Foam::autoPtr<Foam::Function1<Type>> Foam::Function1<Type>::New
                 Function1Type = firstToken.wordToken();
             }
         }
-        else
+        else if (redirectType != word::null)
         {
             Function1Type = redirectType;
         }
-
+        else
+        {
+            FatalIOErrorInFunction(dict)
+                << "Cannot find specification for Function1 "
+                << entryName << nl << nl
+                << "Valid Function1 types :" << nl
+                << dictionaryConstructorTablePtr_->sortedToc() << nl
+                << exit(FatalIOError);
+        }
 
         auto cstrIter = dictionaryConstructorTablePtr_->cfind(Function1Type);
 
         if (!cstrIter.found())
         {
-            FatalErrorInFunction
+            FatalIOErrorInFunction(dict)
                 << "Unknown Function1 type "
                 << Function1Type << " for Function1 "
                 << entryName << nl << nl
                 << "Valid Function1 types :" << nl
                 << dictionaryConstructorTablePtr_->sortedToc() << nl
-                << exit(FatalError);
+                << exit(FatalIOError);
         }
 
         return cstrIter()