Change to C numbering called twice

I have a simple test for Metis 5.0.2 with Fortran-style indexing. (I later noticed a post in the Parallel Graph & Mesh Partitioning Forum, subject "Access violation error in Metis 5.0.2 called from Fortran which is almost the same as this; no responses to that posting.)
METIS_
When I run the following code in a debugger I notice that METIS_PartMeshNodal calls ChangeMesh2CNumbering, then later METIS_PartMeshNodal calls METIS_PartGraphRecursive, which calls Change2CNumbering. So the subtraction of 1 from indices occurs twice, which leads to havoc. Am I doing something wrong, or is there a problem in Metis 5.0.2?
I have Metis compiled and installed with 64 for both IDXTYPEWIDTH and REALTYPEWIDTH.

PROGRAM TPART8
C
C A test of calling serial MeTiS 5.0 (compiled with 64-bit ints and floats).
C
IMPLICIT NONE
INTEGER :: I
INTEGER(8), PARAMETER :: NELS8=2,NNDS8=6,NPEL8=4
INTEGER(8) :: EPTR8(NELS8+1),
& EIND8(NELS8*NPEL8),
& EPART8(NELS8),
& NPART8(NNDS8),
& NPTODO8,
& N8
INTEGER(8), POINTER :: VWGT8,VSIZE8
INTEGER(8), DIMENSION(:), ALLOCATABLE :: OPTS8
REAL(8), POINTER :: TPWGTS8
C
C
C C-style indexing.
C
EPTR8 = (/ 0,4,8 /)
EIND8 = (/ 0,1,2,3,1,4,5,2 /)
NPTODO8 = 2
VWGT8 => NULL()
VSIZE8 => NULL()
TPWGTS8 => NULL()
ALLOCATE( OPTS8(40) )
CALL METIS_SETDEFAULTOPTIONS( OPTS8 )
C
C Show various diagnostic messages (cf. metis.h).
C
OPTS8(6) = 1
WRITE(*,"('Before METIS_PARTMESHNODAL, OPTS8=')")
DO I = 1,40,10
WRITE(*,"(10I8)") OPTS8(I:MIN(I+9,40))
ENDDO
CALL METIS_PARTMESHNODAL( NELS8,
& NNDS8,
& EPTR8,
& EIND8,
& VWGT8,
& VSIZE8,
& NPTODO8,
& TPWGTS8,
& OPTS8,
& N8,
& EPART8,
& NPART8 )
WRITE(*,"('NPART8 (C-style):',10I4)") NPART8(1:NNDS8)
WRITE(*,"('EPART8 (C-style):',10I4)") EPART8(1:NELS8)
C
C Fortran-style indexing:
C
EPTR8 = (/ 1,5,9 /)
EIND8 = (/ 1,2,3,4,2,5,6,3 /)
C
C Use Fortran indexing convention, i.e., start from 1.
C
OPTS8(17) = 1
WRITE(*,"('Before METIS_PARTMESHNODAL, OPTS8=')")
DO I = 1,40,10
WRITE(*,"(10I8)") OPTS8(I:MIN(I+9,40))
ENDDO
C
C This call fails with either a segmentation violation or
C an error from glibc.
C
CALL METIS_PARTMESHNODAL( NELS8,
& NNDS8,
& EPTR8,
& EIND8,
& VWGT8,
& VSIZE8,
& NPTODO8,
& TPWGTS8,
& OPTS8,
& N8,
& EPART8,
& NPART8 )
WRITE(*,"('NPART8 (Fortran-style):',10I4)") NPART8(1:NNDS8)
WRITE(*,"('EPART8 (Fortran-style):',10I4)") EPART8(1:NELS8)
C
C
END PROGRAM TPART8