diff -up libgda-3.1.2/providers/freetds/gda-freetds-recordset.c~ libgda-3.1.2/providers/freetds/gda-freetds-recordset.c
--- libgda-3.1.2/providers/freetds/gda-freetds-recordset.c~ 2008-06-16 23:48:25.000000000 +0200
+++ libgda-3.1.2/providers/freetds/gda-freetds-recordset.c 2008-06-16 23:48:25.000000000 +0200
@@ -208,7 +208,7 @@ gda_freetds_get_current_row(GdaFreeTDSRe
field = gda_row_get_value (row, i);
col = recset->priv->res->columns[i];
- val = &(recset->priv->res->current_row[col->column_offset]);
+ val = col->column_data;
gda_freetds_set_gdavalue (field, val, col,
recset->priv->tds_cnc);