diff --git a/src/fvOptions/sources/derived/rotorDiskSource/bladeModel/bladeModel.C b/src/fvOptions/sources/derived/rotorDiskSource/bladeModel/bladeModel.C
index 490e8f49511e306200471246e4c39974d3390fda..0f8978c4eea7d59b4d31003338f477137c840d6e 100644
--- a/src/fvOptions/sources/derived/rotorDiskSource/bladeModel/bladeModel.C
+++ b/src/fvOptions/sources/derived/rotorDiskSource/bladeModel/bladeModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -29,7 +29,6 @@ License
 #include "vector.H"
 #include "IFstream.H"
 
-
 // * * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * //
 
 bool Foam::bladeModel::readFromFile() const
@@ -58,12 +57,18 @@ void Foam::bladeModel::interpolateWeights
     }
     else
     {
-        while ((values[i2] < xIn) && (i2 < nElem))
+        while ((i2 < nElem) && (values[i2] < xIn))
         {
             i2++;
         }
 
-        if (i2 == nElem)
+        if (i2 == 0)
+        {
+            i1 = i2;
+            ddx = 0.0;
+            return;
+        }
+        else if (i2 == nElem)
         {
             i2 = nElem - 1;
             i1 = i2;
@@ -101,7 +106,6 @@ Foam::bladeModel::bladeModel(const dictionary& dict)
         dict.lookup("data") >> data;
     }
 
-
     if (data.size() > 0)
     {
         profileName_.setSize(data.size());
diff --git a/src/fvOptions/sources/derived/rotorDiskSource/profileModel/lookup/lookupProfile.C b/src/fvOptions/sources/derived/rotorDiskSource/profileModel/lookup/lookupProfile.C
index 1719768a0b54a0757a6cbb9203b2c82d78252fab..f07821c27bce5454a50bad45c098b932f335a858 100644
--- a/src/fvOptions/sources/derived/rotorDiskSource/profileModel/lookup/lookupProfile.C
+++ b/src/fvOptions/sources/derived/rotorDiskSource/profileModel/lookup/lookupProfile.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -60,12 +60,18 @@ void Foam::lookupProfile::interpolateWeights
     }
     else
     {
-        while ((values[i2] < xIn) && (i2 < nElem))
+        while ((i2 < nElem) && (values[i2] < xIn))
         {
             i2++;
         }
 
-        if (i2 == nElem)
+        if (i2 == 0)
+        {
+            i1 = i2;
+            ddx = 0.0;
+            return;
+        }
+        else if (i2 == nElem)
         {
             i2 = nElem - 1;
             i1 = i2;
diff --git a/tutorials/incompressible/simpleFoam/rotorDisk/system/fvOptions b/tutorials/incompressible/simpleFoam/rotorDisk/system/fvOptions
index 5ad69108ea6bf910d0256d7fc7d46ffd5f206df9..75f6c6c1c9522b4161df894e6114def6701104f0 100644
--- a/tutorials/incompressible/simpleFoam/rotorDisk/system/fvOptions
+++ b/tutorials/incompressible/simpleFoam/rotorDisk/system/fvOptions
@@ -64,8 +64,8 @@ disk
         {
             data
             (
-                (profile1 (0.1 -6 0.1))
-                (profile1 (0.25 -6 0.1))
+                (profile1 (0.1 -6 0.02))
+                (profile1 (0.25 -6 0.02))
             );
         }