diff --git a/src/main/java/hex/DGLM.java b/src/main/java/hex/DGLM.java
index <HASH>..<HASH> 100644
--- a/src/main/java/hex/DGLM.java
+++ b/src/main/java/hex/DGLM.java
@@ -1214,7 +1214,7 @@ public abstract class DGLM {
         } else {
           int d = (int) data[i]; // Enum value d can be -1 if we got enum values not seen in training
           if(d == 0) continue; // level 0 of factor is skipped (coef==0).
-          if( d > 0 && (idx += d) < _colCatMap[i + 1] ) p += _beta[idx]/* *1.0 */;
+          if( d > 0 && (idx += d) <= _colCatMap[i + 1] ) p += _beta[idx-1]/* *1.0 */;
           else             // Enum out of range?
           p = Double.NaN;// Can use a zero, or a NaN
         }
Bugfix in glm scoring.