diff --git a/pub/src/expr.cpp b/pub/src/expr.cpp
index af3d7e2bbba875a5234ca05805971c1d5a1977a8..7a367a633343690d03280b0df309bbc1d0b3754c 100644
--- a/pub/src/expr.cpp
+++ b/pub/src/expr.cpp
@@ -116,6 +116,8 @@ void CRef::set_coord( CCoord& ret, uint k_in ) const
                 ret = fd->xco;
             else if  ( typ == _Y )
                 ret = fd->yco;
+            else if  ( typ == _DY )
+                ret = CCoord( "d"+fd->yco.name, fd->yco.unit );
             else if  ( typ == _NI )
                 ret = CCoord("#points", "");
             else
diff --git a/pub/src/xax_lex.lpp b/pub/src/xax_lex.lpp
index 9b2aff1096e5e1460d8ef18c70ea76708e81356a..0d72a770bd0d4fe16b97509c93645e28635fa5e2 100644
--- a/pub/src/xax_lex.lpp
+++ b/pub/src/xax_lex.lpp
@@ -47,7 +47,7 @@ EXP      [eE]"-"?[0-9]+
 	xaxlval->v = atof(xaxtext);
 	return NUM; }
 
-[xykji]|n[ij]|([zpr]|cq){DIG}+ {     
+[xykji]|dy|n[ij]|([zpr]|cq){DIG}+ {     
         // printf( "lex: The variable %s\n", xaxtext );
         xaxlval->p = (void*) new CRef(string(xaxtext));
         return REF; }