--- f:\tmp\fmtbcd.pp.old	Tue Apr 12 14:01:52 2011
+++ f:\tmp\fmtbcd.pp	Tue Apr 12 14:07:56 2011
@@ -4004,18 +4004,13 @@ var v: TVarData;
 begin
   if Source.vType=VarType then
   begin
-    VarDataInit(v);
-    try
-      if aVarType = varString then
-        VarDataFromStr(Dest, BCDToStr(TFMTBcdVarData(Source.vPointer).BCD))
-      else
-      begin
-        v.vType:=varDouble;
-        v.vDouble:=BCDToDouble(TFMTBcdVarData(Source.vPointer).BCD);
-        VarDataCastTo(Dest, v, aVarType); //now cast Double to any requested type
-      end;
-    finally
-      VarDataClear(v);
+    if aVarType = varString then
+      VarDataFromStr(Dest, BCDToStr(TFMTBcdVarData(Source.vPointer).BCD))
+    else
+    begin
+      v.vType:=varDouble;
+      v.vDouble:=BCDToDouble(TFMTBcdVarData(Source.vPointer).BCD);
+      VarDataCastTo(Dest, v, aVarType); //now cast Double to any requested type
     end;
   end
   else
