diff --git a/bindings-DSL.cabal b/bindings-DSL.cabal
--- a/bindings-DSL.cabal
+++ b/bindings-DSL.cabal
@@ -17,7 +17,7 @@
   .
   This package contains no Haskell code, only C header files
   designed for hsc2hs.
-version: 1.0.10
+version: 1.0.11
 license: BSD3
 license-file: LICENSE
 maintainer: Maurício C. Antunes <mauricio.antunes@gmail.com>
diff --git a/bindings.dsl.h b/bindings.dsl.h
--- a/bindings.dsl.h
+++ b/bindings.dsl.h
@@ -1,5 +1,5 @@
 /******
- * Copyright © 2008–2009 Maurício C. Antunes
+ * Copyright © 2008–2011 Maurício C. Antunes
  * This file is distributed under the BSD license.
  * Check LICENSE file in distribution package for
  * details.
@@ -184,7 +184,8 @@
      printf("\n  "); \
      bc_fieldname(typename,# name); \
      printf(" :: ");bc_typemarkup(# type); \
-     bc_fielddata.offset[index] = (uintmax_t)&(refpointer->name); \
+     bc_fielddata.offset[index] = (uintmax_t) \
+         ((char*)&refpointer->name - (char*)refpointer); \
      bc_fielddata.is_array[index] = 0; \
      bc_fielddata.is_union[index] = 0; \
      bc_fielddata.is_fam[index] = 0; \
