/* PSPP - a program for statistical analysis.
-   Copyright (C) 1997-9, 2000, 2006, 2009, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-9, 2000, 2006, 2009, 2010, 2011, 2012, 2013, 2014, 2016 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
           vr->var = var;
           vr->min = min;
-         vr->max = max + 1.;
+         vr->max = max;
          vr->count = max - min + 1;
           hmap_insert (&proc->var_ranges, &vr->hmap_node,
                        hash_pointer (var, 0));
       if (range != NULL)
         {
           double num = case_num (c, var);
-          if (num < range->min || num > range->max)
+          if (num < range->min || num >= range->max + 1.)
             return false;
         }
     }
 
 ]])
 AT_CLEANUP
 
+# Bug #47600.
+AT_SETUP([CROSSTABS integer mode crash 2])
+AT_DATA([crosstabs.sps], [dnl
+DATA LIST lIST /x y.
+BEGIN DATA.
+4 5
+END DATA.
+
+CROSSTABS
+        VARIABLES x (1,3) y (1,7)
+      /TABLES x BY y.
+])
+AT_CHECK([pspp -O format=csv crosstabs.sps], [0],
+  [[Table: Reading free-form data from INLINE.
+Variable,Format
+x,F8.0
+y,F8.0
+
+Table: Summary.
+,Cases,,,,,
+,Valid,,Missing,,Total,
+,N,Percent,N,Percent,N,Percent
+x * y,0,0.0%,1,100.0%,1,100.0%
+]])
+AT_CLEANUP
+
 # Bug #22037.
 AT_SETUP([CROSSTABS long string crash])
 AT_DATA([crosstabs.sps],