diff --git a/matlab/dr1.m b/matlab/dr1.m
index c68c5eb3d5e32f05affbb0477bdf5b99673f54a5..453bbd05239b6220597c466a9b42a7c53d6e00d2 100644
--- a/matlab/dr1.m
+++ b/matlab/dr1.m
@@ -224,7 +224,13 @@ function [dr,info,M_,options_,oo_] = dr1(dr,task,M_,options_,oo_)
             info(1) = 3;
             info(2) = temp'*temp;
         end
-        return;
+	if options_.loglinear == 1
+            klags = find(M_.lead_lag_incidence(1,:));
+            dr.ghx = repmat(1./dr.ys,1,size(dr.ghx,2)).*dr.ghx.* ...
+                     repmat(dr.ys(klags),size(dr.ghx,1),1);
+            dr.ghu = repmat(1./dr.ys,1,size(dr.ghu,2)).*dr.ghu;
+        end
+        return
     end
     
     %forward--looking models