Index: Singular/fglm.cc
===================================================================
--- Singular/fglm.cc	(revision 3028b1af3cce625ab8f0a52d2573c868e76f17f0)
+++ Singular/fglm.cc	(revision 2dac6367442f99db2e2c81f0ad67cf80290fdd01)
@@ -124,5 +124,5 @@
     FglmState state= FglmOk;
 
-    if ( rChar(sring) != rChar(dring) )
+    if ( sring->cf != dring->cf )
     {
         WerrorS( "rings must have same characteristic" );
Index: kernel/groebner_walk/walkProc.cc
===================================================================
--- kernel/groebner_walk/walkProc.cc	(revision 3028b1af3cce625ab8f0a52d2573c868e76f17f0)
+++ kernel/groebner_walk/walkProc.cc	(revision 2dac6367442f99db2e2c81f0ad67cf80290fdd01)
@@ -56,5 +56,5 @@
     WalkState state= WalkOk;
 
-    if ( rChar(sring) != rChar(dring) )
+    if ( sring->cf != dring->cf )
     {
         WerrorS( "rings must have same characteristic" );
Index: libpolys/polys/clapsing.cc
===================================================================
--- libpolys/polys/clapsing.cc	(revision 3028b1af3cce625ab8f0a52d2573c868e76f17f0)
+++ libpolys/polys/clapsing.cc	(revision 2dac6367442f99db2e2c81f0ad67cf80290fdd01)
@@ -87,5 +87,5 @@
   || (rField_is_Zn(r)&&(r->cf->convSingNFactoryN!=ndConvSingNFactoryN)))
   {
-    setCharacteristic( rChar(r) );
+    setCharacteristic( rInternalChar(r) );
     CanonicalForm F( convSingPFactoryP( f,r ) ), G( convSingPFactoryP( g, r ) );
     res=convFactoryPSingP( gcd( F, G ) , r);
@@ -99,5 +99,5 @@
   {
     if ( rField_is_Q_a(r)) setCharacteristic( 0 );
-    else                   setCharacteristic( rChar(r) );
+    else                   setCharacteristic( rInternalChar(r) );
     if (r->cf->extRing->qideal!=NULL)
     {
@@ -126,5 +126,5 @@
   else
   { // handle user type coeffs:
-    setCharacteristic( rChar(r) );
+    setCharacteristic( rInternalChar(r) );
     CanonicalForm F( convSingPFactoryP( f,r ) ), G( convSingPFactoryP( g, r ) );
     res=convFactoryPSingP( gcd( F, G ) , r);
@@ -179,5 +179,5 @@
   {
     bool b1=isOn(SW_USE_EZGCD_P);
-    setCharacteristic( rChar(r) );
+    setCharacteristic( rInternalChar(r) );
     F=convSingPFactoryP( f,r );
     G=convSingPFactoryP( g,r );
@@ -215,5 +215,5 @@
   {
     if ( rField_is_Q_a(r)) setCharacteristic( 0 );
-    else                   setCharacteristic( rChar(r) );
+    else                   setCharacteristic( rInternalChar(r) );
     if (r->cf->extRing->qideal!=NULL)
     {
@@ -326,5 +326,5 @@
   {
     Variable X(i);
-    setCharacteristic( rChar(r) );
+    setCharacteristic( rInternalChar(r) );
     CanonicalForm F( convSingPFactoryP( f,r ) ), G( convSingPFactoryP( g,r ) );
     res=convFactoryPSingP( resultant( F, G, X),r );
@@ -336,5 +336,5 @@
   {
     if (rField_is_Q_a(r)) setCharacteristic( 0 );
-    else               setCharacteristic( rChar(r) );
+    else               setCharacteristic( rInternalChar(r) );
     Variable X(i+rPar(r));
     if (r->cf->extRing->qideal!=NULL)
@@ -463,5 +463,5 @@
   || (rField_is_Zn(r)&&(r->cf->convSingNFactoryN!=ndConvSingNFactoryN)))
   {
-    setCharacteristic( rChar(r) );
+    setCharacteristic( rInternalChar(r) );
     CanonicalForm F( convSingPFactoryP( f,r ) ), G( convSingPFactoryP( g,r) );
     CanonicalForm FpG=F+G;
@@ -484,5 +484,5 @@
   {
     if (rField_is_Q_a(r)) setCharacteristic( 0 );
-    else                 setCharacteristic( rChar(r) );
+    else                 setCharacteristic( rInternalChar(r) );
     CanonicalForm Fa,Gb;
     if (r->cf->extRing->qideal!=NULL)
@@ -549,5 +549,5 @@
   {
     if (rField_is_Z(r)) Off(SW_RATIONAL);
-    setCharacteristic( rChar(r) );
+    setCharacteristic( rInternalChar(r) );
     CanonicalForm F( convSingPFactoryP( f,r ) ), G( convSingPFactoryP( g,r ) );
     res = convFactoryPSingP( F * G,r );
@@ -556,5 +556,5 @@
   {
     if (rField_is_Q_a(r)) setCharacteristic( 0 );
-    else               setCharacteristic( rChar(r) );
+    else               setCharacteristic( rInternalChar(r) );
     if (r->cf->extRing->qideal!=NULL)
     {
@@ -626,5 +626,5 @@
   || (rField_is_Zn(r)&&(r->cf->convSingNFactoryN!=ndConvSingNFactoryN)))
   {
-    setCharacteristic( rChar(r) );
+    setCharacteristic( rInternalChar(r) );
     CanonicalForm F( convSingPFactoryP( f,r ) ), G( convSingPFactoryP( g,r ) );
     res = convFactoryPSingP( F / G,r );
@@ -634,5 +634,5 @@
   {
     if (rField_is_Q_a(r)) setCharacteristic( 0 );
-    else               setCharacteristic( rChar(r) );
+    else               setCharacteristic( rInternalChar(r) );
     if (r->cf->extRing->qideal!=NULL)
     {
@@ -673,5 +673,5 @@
   || (rField_is_Zn(r)&&(r->cf->convSingNFactoryN!=ndConvSingNFactoryN)))
   {
-    setCharacteristic( rChar(r) );
+    setCharacteristic( rInternalChar(r) );
     CanonicalForm F( convSingPFactoryP( f,r ) ), G( convSingPFactoryP( g,r ) );
     CanonicalForm Q,R;
@@ -684,5 +684,5 @@
   {
     if (rField_is_Q_a(r)) setCharacteristic( 0 );
-    else               setCharacteristic( rChar(r) );
+    else               setCharacteristic( rInternalChar(r) );
     if (r->cf->extRing->qideal!=NULL)
     {
@@ -1038,5 +1038,5 @@
     if (rField_is_Q(r) || rField_is_Zp(r) || rField_is_Z(r) || rField_is_Zn(r))
     {
-      setCharacteristic( rChar(r) );
+      setCharacteristic( rInternalChar(r) );
       if (errorreported) goto notImpl; // char too large
       CanonicalForm F( convSingPFactoryP( f,r ) );
@@ -1047,5 +1047,5 @@
     {
       if (rField_is_Q_a (r)) setCharacteristic (0);
-      else                   setCharacteristic( rChar(r) );
+      else                   setCharacteristic( rInternalChar(r) );
       if (errorreported) goto notImpl; // char too large
       if (r->cf->extRing->qideal!=NULL) /*algebraic extension */
@@ -1414,5 +1414,5 @@
   || (rField_is_Zn(r)&&(r->cf->convSingNFactoryN!=ndConvSingNFactoryN)))
   {
-    setCharacteristic( rChar(r) );
+    setCharacteristic( rInternalChar(r) );
     CanonicalForm F( convSingPFactoryP( f,r ) );
     L = sqrFree( F );
@@ -1421,5 +1421,5 @@
   {
     if (rField_is_Q_a (r)) setCharacteristic (0);
-    else                   setCharacteristic( rChar(r) );
+    else                   setCharacteristic( rInternalChar(r) );
     if (r->cf->extRing->qideal!=NULL)
     {
@@ -1439,5 +1439,5 @@
   else if (rField_is_GF())
   {
-    int c=rChar(r);
+    int c=rInternalChar(r);
     setCharacteristic( c, primepower(c) );
     CanonicalForm F( convSingGFFactoryGF( f ) );
@@ -1550,5 +1550,5 @@
   || (rField_is_Zn(r)&&(r->cf->convSingNFactoryN!=ndConvSingNFactoryN)))
   {
-    setCharacteristic( rChar(r) );
+    setCharacteristic( rInternalChar(r) );
     for(i=0;i<IDELEMS(I);i++)
     {
@@ -1566,5 +1566,5 @@
   else if (nCoeff_is_transExt (r->cf))
   {
-    setCharacteristic( rChar(r) );
+    setCharacteristic( rInternalChar(r) );
     for(i=0;i<IDELEMS(I);i++)
     {
@@ -1637,5 +1637,5 @@
   || (rField_is_Zn(r)&&(r->cf->convSingNFactoryN!=ndConvSingNFactoryN)))
   {
-    setCharacteristic( rChar(r) );
+    setCharacteristic( rInternalChar(r) );
     for(i=0;i<IDELEMS(I);i++)
     {
@@ -1652,5 +1652,5 @@
   else if (nCoeff_is_transExt (r->cf))
   {
-    setCharacteristic( rChar(r) );
+    setCharacteristic( rInternalChar(r) );
     for(i=0;i<IDELEMS(I);i++)
     {
Index: libpolys/polys/monomials/p_polys.cc
===================================================================
--- libpolys/polys/monomials/p_polys.cc	(revision 3028b1af3cce625ab8f0a52d2573c868e76f17f0)
+++ libpolys/polys/monomials/p_polys.cc	(revision 2dac6367442f99db2e2c81f0ad67cf80290fdd01)
@@ -2244,5 +2244,5 @@
             return p_MonPower(p,i,r);
           /* else: binom ?*/
-          int char_p=rChar(r);
+          int char_p=rInternalChar(r);
           if ((char_p>0) && (i>char_p)
           && ((rField_is_Zp(r,char_p)
