diff --git a/Common/Options.cpp b/Common/Options.cpp
index 4f2ed5356763853c4ab27d0d8649d30052288191..e70b047927cd42403828172e42cdc041d0a41ab4 100644
--- a/Common/Options.cpp
+++ b/Common/Options.cpp
@@ -3164,14 +3164,14 @@ double opt_general_stereo_mode(OPT_ARGS_NUM)
   if(action & GMSH_SET)
     CTX::instance()->stereo = (int)val;
   if (CTX::instance()->stereo)    opt_general_camera_mode(num, action, 1.);
-  
+
 #if defined(HAVE_FLTK)
   /*
   if(FlGui::available() && (action & GMSH_GUI))
   FlGui::instance()->options->general.butt[17]->value(CTX::instance()->stereo);
 */
 #endif
-  
+
   return CTX::instance()->stereo ;
 }
 
@@ -3223,7 +3223,7 @@ double opt_general_camera_mode(OPT_ARGS_NUM)
     FlGui::instance()->options->general.butt[18]->value
       (CTX::instance()->camera);
     FlGui::instance()->options->activate("general_camera");
-  
+
   }
   */
 #endif
@@ -6147,6 +6147,7 @@ double opt_view_timestep(OPT_ARGS_NUM)
       if(data->getAdaptiveData())
         data->getAdaptiveData()->changeResolution
           (opt->timeStep, opt->maxRecursionLevel, opt->targetError);
+      opt->currentTime = data->getTime(opt->timeStep);
     }
     if(view) view->setChanged(true);
   }
diff --git a/Post/PViewOptions.cpp b/Post/PViewOptions.cpp
index 01e97315b17bb2bfae6b2fcc7dffe4f79d6e045c..1ae82893faef60e10b6f017ac23cd5883145379c 100644
--- a/Post/PViewOptions.cpp
+++ b/Post/PViewOptions.cpp
@@ -14,6 +14,7 @@ PViewOptions::PViewOptions() : genRaiseEvaluator(0)
 {
   ColorTable_InitParam(2, &colorTable);
   ColorTable_Recompute(&colorTable);
+  currentTime = 0.;
 }
 
 PViewOptions::~PViewOptions()
@@ -107,7 +108,8 @@ unsigned int PViewOptions::getColor(int i, int nb)
 void PViewOptions::createGeneralRaise()
 {
   const char *names[] =
-    { "x", "y", "z", "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v8"};
+    { "x", "y", "z", "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v8",
+      "s", "t"};
   unsigned int numVariables = sizeof(names) / sizeof(names[0]);
   std::vector<std::string> expressions(3), variables(numVariables);
   expressions[0] = genRaiseX;
diff --git a/Post/PViewOptions.h b/Post/PViewOptions.h
index e3de672298f785de64a85038781cbe91aa7f8d33..7eaf1b598785d5c8882daf9b62284d4940d3c099 100644
--- a/Post/PViewOptions.h
+++ b/Post/PViewOptions.h
@@ -79,6 +79,7 @@ class PViewOptions {
   int scaleType, rangeType, abscissaRangeType;
   int vectorType, tensorType, glyphLocation, centerGlyphs;
   int timeStep;
+  double currentTime;
   int drawStrings;
   int drawPoints, drawLines, drawTriangles, drawQuadrangles, drawPolygons;
   int drawTetrahedra, drawHexahedra, drawPrisms, drawPyramids, drawPolyhedra;
diff --git a/Post/PViewVertexArrays.cpp b/Post/PViewVertexArrays.cpp
index a9f9cecfd759d7643075ec3781afed77e51c3253..1358ead31126a81e7dd1d7c7bcc7eeb48e3d093a 100644
--- a/Post/PViewVertexArrays.cpp
+++ b/Post/PViewVertexArrays.cpp
@@ -180,10 +180,12 @@ static void applyGeneralRaise(PView *p, int numNodes, int numComp,
   PViewOptions *opt = p->getOptions();
   if(!opt->genRaiseEvaluator) return;
 
-  std::vector<double> values(12, 0.), res(3);
+  std::vector<double> values(14, 0.), res(3);
   for(int k = 0; k < numNodes; k++) {
     for(int i = 0; i < 3; i++) values[i] = xyz[k][i];
     for(int i = 0; i < std::min(numComp, 9); i++) values[3 + i] = vals[k][i];
+    values[12] = p->getOptions()->timeStep;
+    values[13] = p->getOptions()->currentTime;
     if(opt->genRaiseEvaluator->eval(values, res))
       for(int i = 0; i < 3; i++)
         xyz[k][i] += opt->genRaiseFactor * res[i];