diff --git a/src/OpenFOAM/primitives/functions/Function1/CSV/CSV.C b/src/OpenFOAM/primitives/functions/Function1/CSV/CSV.C
index f3d4c064ad2ecd53f081d31e0338ac403a050899..fc2a40f25787f0f9bed5914d13343184e9e559d3 100644
--- a/src/OpenFOAM/primitives/functions/Function1/CSV/CSV.C
+++ b/src/OpenFOAM/primitives/functions/Function1/CSV/CSV.C
@@ -224,7 +224,7 @@ Foam::Function1Types::CSV<Type>::CSV
 {
     read();
 
-    TableBase<Type>::check();
+    TableBase<Type>::initialise();
 }
 
 
diff --git a/src/OpenFOAM/primitives/functions/Function1/Polynomial/PolynomialEntry.C b/src/OpenFOAM/primitives/functions/Function1/Polynomial/PolynomialEntry.C
index d72f9a7cf7dc837cde4180f62abee85b675592a2..7d363bb2fc1c549354e3a9d9e66575441f35f0ce 100644
--- a/src/OpenFOAM/primitives/functions/Function1/Polynomial/PolynomialEntry.C
+++ b/src/OpenFOAM/primitives/functions/Function1/Polynomial/PolynomialEntry.C
@@ -56,6 +56,11 @@ void Foam::Function1Types::Polynomial<Type>::checkCoefficients()
             << "Polynomial " << this->name() << " cannot be integrated"
             << endl;
     }
+
+    if (this->isTime())
+    {
+        convertTimeBase(this->time());
+    }
 }
 
 
diff --git a/src/OpenFOAM/primitives/functions/Function1/Sine/Sine.C b/src/OpenFOAM/primitives/functions/Function1/Sine/Sine.C
index 9b928c7e16bbee3908e675c09f146c51ebcbcc79..0fee1197a102b58432d629fb9e32067667fd6528 100644
--- a/src/OpenFOAM/primitives/functions/Function1/Sine/Sine.C
+++ b/src/OpenFOAM/primitives/functions/Function1/Sine/Sine.C
@@ -50,6 +50,11 @@ Foam::Function1Types::Sine<Type>::Sine
     {
         frequency_ = Function1<scalar>::New("frequency", dict);
     }
+
+    if (this->isTime())
+    {
+        convertTimeBase(this->time());
+    }
 }
 
 
diff --git a/src/OpenFOAM/primitives/functions/Function1/Table/Table.C b/src/OpenFOAM/primitives/functions/Function1/Table/Table.C
index 37146ea0195505996cf51e8a26cec59d866d1ceb..566a547d8cdf9d9dc7797f7bb7a508a4b179573c 100644
--- a/src/OpenFOAM/primitives/functions/Function1/Table/Table.C
+++ b/src/OpenFOAM/primitives/functions/Function1/Table/Table.C
@@ -85,7 +85,7 @@ Foam::Function1Types::Table<Type>::Table
         dict.readEntry("values", this->table_);
     }
 
-    TableBase<Type>::check();
+    TableBase<Type>::initialise();
 }
 
 
diff --git a/src/OpenFOAM/primitives/functions/Function1/Table/TableBase.C b/src/OpenFOAM/primitives/functions/Function1/Table/TableBase.C
index bb8decf69d7569bc838eb5d8ad8eb800314c05f5..45e7a6d6ee1a6a2a09fcc26277e49f20f2763bfb 100644
--- a/src/OpenFOAM/primitives/functions/Function1/Table/TableBase.C
+++ b/src/OpenFOAM/primitives/functions/Function1/Table/TableBase.C
@@ -107,7 +107,7 @@ Foam::Function1Types::TableBase<Type>::TableBase(const TableBase<Type>& tbl)
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
 template<class Type>
-void Foam::Function1Types::TableBase<Type>::check() const
+void Foam::Function1Types::TableBase<Type>::initialise()
 {
     if (!table_.size())
     {
@@ -134,6 +134,11 @@ void Foam::Function1Types::TableBase<Type>::check() const
         prevValue = currValue;
         ++i;
     }
+
+    if (this->isTime())
+    {
+        convertTimeBase(this->time());
+    }
 }
 
 
diff --git a/src/OpenFOAM/primitives/functions/Function1/Table/TableBase.H b/src/OpenFOAM/primitives/functions/Function1/Table/TableBase.H
index aed16b6919c2212e928b495e334274a4f1256ccc..1b805a8c85811bcba3ef507819a9232bd4b170dc 100644
--- a/src/OpenFOAM/primitives/functions/Function1/Table/TableBase.H
+++ b/src/OpenFOAM/primitives/functions/Function1/Table/TableBase.H
@@ -119,7 +119,7 @@ public:
     // Member Functions
 
         //- Check the table for size and consistency
-        void check() const;
+        void initialise();
 
         //- Check minimum table bounds
         bool checkMinBounds(const scalar x, scalar& xDash) const;
diff --git a/src/OpenFOAM/primitives/functions/Function1/TableFile/TableFile.C b/src/OpenFOAM/primitives/functions/Function1/TableFile/TableFile.C
index 0d8afbf43c8042ae7b01ec5fcc86d004d240c27d..a0a27c3ed11bc1d74c4db2cdfc31af6f9bd49e6c 100644
--- a/src/OpenFOAM/primitives/functions/Function1/TableFile/TableFile.C
+++ b/src/OpenFOAM/primitives/functions/Function1/TableFile/TableFile.C
@@ -57,7 +57,7 @@ Foam::Function1Types::TableFile<Type>::TableFile
 
     is  >> this->table_;
 
-    TableBase<Type>::check();
+    TableBase<Type>::initialise();
 }
 
 
diff --git a/src/OpenFOAM/primitives/functions/Function1/ramp/ramp.C b/src/OpenFOAM/primitives/functions/Function1/ramp/ramp.C
index b66acd4f32648ce416eca53e66b6f65c9c23e37a..76b236141b27ae535dc8db59c46b43ca53dc7025 100644
--- a/src/OpenFOAM/primitives/functions/Function1/ramp/ramp.C
+++ b/src/OpenFOAM/primitives/functions/Function1/ramp/ramp.C
@@ -34,6 +34,11 @@ void Foam::Function1Types::ramp::read(const dictionary& coeffs)
 {
     start_ = coeffs.getOrDefault<scalar>("start", 0);
     coeffs.readEntry("duration", duration_);
+
+    if (isTime())
+    {
+        convertTimeBase(time());
+    }
 }
 
 
diff --git a/src/OpenFOAM/primitives/functions/TimeFunction1/TimeFunction1.C b/src/OpenFOAM/primitives/functions/TimeFunction1/TimeFunction1.C
index 9dd5f3caea852d52e74b16d49c3385ca4d7630d9..60b95f2d8faf80ce5d7d71c08bad442487d97bc9 100644
--- a/src/OpenFOAM/primitives/functions/TimeFunction1/TimeFunction1.C
+++ b/src/OpenFOAM/primitives/functions/TimeFunction1/TimeFunction1.C
@@ -42,7 +42,8 @@ Foam::TimeFunction1<Type>::TimeFunction1
     name_(entryName),
     entry_(Function1<Type>::New(entryName, dict, &runTime))
 {
-    entry_->convertTimeBase(runTime);
+    // Time conversion now handled by Function1 directly
+    // entry_->convertTimeBase(runTime);
 }