diff --git a/libgcobol/libgcobol.cc b/libgcobol/libgcobol.cc
index f26a21c6f0d87f38db777b661d3b0789bb808308..b72762c11510a328465de4114cf84287227c0595 100644
--- a/libgcobol/libgcobol.cc
+++ b/libgcobol/libgcobol.cc
@@ -5220,8 +5220,10 @@ __gg__move_literala(struct cblc_refer_t *dest,
 
       case FldNumericBinary:
         {
-        value = __gg__binary_value_from_refer(&rdigits, source);
-
+        int rdigits;
+        value = __gg__dirty_to_binary_internal( source->field->initial,
+                                                source->field->capacity,
+                                                &rdigits );
         if( truncation_mode == trunc_std_e )
           {
           if( value < 0 )