Index: libpolys/coeffs/coeffs.h
===================================================================
--- libpolys/coeffs/coeffs.h	(revision dc478260ef923280b78afb46f80108bc7636b34a)
+++ libpolys/coeffs/coeffs.h	(revision 5b5409b82e44fe06e89ca19cc40799a330caa5ad)
@@ -158,10 +158,4 @@
    void    (*cfNormalize)(number &a, const coeffs r);
 
-#ifdef HAVE_RINGS
-   int     (*cfDivComp)(number a,number b,const coeffs r);
-   BOOLEAN (*cfIsUnit)(number a,const coeffs r);
-   number  (*cfGetUnit)(number a,const coeffs r);
-   BOOLEAN (*cfDivBy)(number a, number b, const coeffs r);
-#endif
 
 
@@ -219,8 +213,4 @@
    CanonicalForm (*convSingNFactoryN)( number n, BOOLEAN setChar, const coeffs r );
 
-#ifdef LDEBUG
-   /// Test: is "a" a correct number?
-   BOOLEAN (*cfDBTest)(number a, const char *f, const int l, const coeffs r);
-#endif
 
    /// the 0 as constant, NULL by default
@@ -255,6 +245,46 @@
 
 
+  int        ch;  /* characteristic, set by the local *InitChar methods;
+                     In field extensions or extensions towers, the
+                     characteristic can be accessed from any of the
+                     intermediate extension fields, i.e., in this case
+                     it is redundant along the chain of field extensions;
+                     CONTRARY to SINGULAR as it was, we do NO LONGER use
+                     negative values for ch;
+                     for rings, ch will also be set and is - per def -
+                     the smallest number of 1's that sum up to zero;
+                     however, in this case ch may not fit in an int,
+                     thus ch may contain a faulty value */
+
+  short      float_len; /* additional char-flags, rInit */
+  short      float_len2; /* additional char-flags, rInit */
+
+//  BOOLEAN   CanShortOut; //< if the elements can be printed in short format
+//                       // this is set to FALSE if a parameter name has >2 chars
+//  BOOLEAN   ShortOut; //< if the elements should print in short format
+
+// ---------------------------------------------------
+  // for n_GF
+
+  int m_nfCharQ;  ///< the number of elements: q
+  int m_nfM1;       ///< representation of -1
+  int m_nfCharP;  ///< the characteristic: p
+  int m_nfCharQ1; ///< q-1
+  unsigned short *m_nfPlus1Table;
+  int *m_nfMinPoly;
+
+// ---------------------------------------------------
+// for Zp:
+  unsigned short *npInvTable;
+  unsigned short *npExpTable;
+  unsigned short *npLogTable;
+   //   int npPrimeM; // NOTE: npPrimeM is deprecated, please use ch instead!
+  int npPminus1M; ///< characteristic - 1
 //-------------------------------------------
 #ifdef HAVE_RINGS
+   int     (*cfDivComp)(number a,number b,const coeffs r);
+   BOOLEAN (*cfIsUnit)(number a,const coeffs r);
+   number  (*cfGetUnit)(number a,const coeffs r);
+   BOOLEAN (*cfDivBy)(number a, number b, const coeffs r);
   /* The following members are for representing the ring Z/n,
      where n is not a prime. We distinguish four cases:
@@ -281,44 +311,9 @@
   unsigned long mod2mMask;
 #endif
-  int        ch;  /* characteristic, set by the local *InitChar methods;
-                     In field extensions or extensions towers, the
-                     characteristic can be accessed from any of the
-                     intermediate extension fields, i.e., in this case
-                     it is redundant along the chain of field extensions;
-                     CONTRARY to SINGULAR as it was, we do NO LONGER use
-                     negative values for ch;
-                     for rings, ch will also be set and is - per def -
-                     the smallest number of 1's that sum up to zero;
-                     however, in this case ch may not fit in an int,
-                     thus ch may contain a faulty value */
-
-  short      float_len; /* additional char-flags, rInit */
-  short      float_len2; /* additional char-flags, rInit */
-
-//  BOOLEAN   CanShortOut; //< if the elements can be printed in short format
-//                       // this is set to FALSE if a parameter name has >2 chars
-//  BOOLEAN   ShortOut; //< if the elements should print in short format
-
-// ---------------------------------------------------
-  // for n_GF
-
-  int m_nfCharQ;  ///< the number of elements: q
-  int m_nfM1;       ///< representation of -1
-  int m_nfCharP;  ///< the characteristic: p
-  int m_nfCharQ1; ///< q-1
-  unsigned short *m_nfPlus1Table;
-  int *m_nfMinPoly;
-
-// ---------------------------------------------------
-// for Zp:
-#ifdef HAVE_DIV_MOD
-  unsigned short *npInvTable;
+#ifdef LDEBUG
+   // must be last entry:
+   /// Test: is "a" a correct number?
+   BOOLEAN (*cfDBTest)(number a, const char *f, const int l, const coeffs r);
 #endif
-#if !defined(HAVE_DIV_MOD) || !defined(HAVE_MULT_MOD)
-  unsigned short *npExpTable;
-  unsigned short *npLogTable;
-#endif
-   //   int npPrimeM; // NOTE: npPrimeM is deprecated, please use ch instead!
-  int npPminus1M; ///< characteristic - 1
 };
 //
