anchor.diff:           END DO
            IF(ICISTR.EQ.1) THEN
              CALL COPVEC(dbl_mb(KVEC1),dbl_mb(KVEC2),NVAR)
  -           CALL DENSI2(1,dbl_mb(KRHO1),WORK(KRHO2),
  +           CALL DENSI2(1,dbl_mb(KRHO1),dbl_mb(KRHO2),
        &          dbl_mb(KVEC1),dbl_mb(KVEC2),0,0,EXPS2,
        &          ISPNDEN,WORK(KSRHO1),WORK(KRHO2AA),WORK(KRHO2AB),
        &          WORK(KRHO2BB),1 )
            ELSE
              CALL REWINO(LUSC1)
              CALL COPVCD(LUSC1,LUSC2,dbl_mb(KVEC1),1,LBLK)
  -             CALL DENSI2(1,dbl_mb(KRHO1),WORK(KRHO2),
  +             CALL DENSI2(1,dbl_mb(KRHO1),dbl_mb(KRHO2),
        &            dbl_mb(KVEC1),dbl_mb(KVEC2),LUSC1,LUSC2,EXPS2,ISPNDEN,
        &            WORK(KSRHO1),WORK(KRHO2AA),WORK(KRHO2AB),
        &            WORK(KRHO2BB),1)
  
positive.code:             KRHO2 = 1
            END IF
            IF(IDENSI.GE.1)
       &    CALL DENSI2(IDENSI,dbl_mb(KRHO1),WORK(KRHO2),
       &         KPVEC1,KPVEC2,0,0,EXPS2,ISPNDEN,WORK(KSRHO1),
       &         WORK(KRHO2AA),WORK(KRHO2AB),WORK(KRHO2BB),1)
            IF(IDENSI.EQ.2) THEN
  
negative.code: *
        IF(I_DO_LZ2.EQ.1) THEN
  *
  cnw    CALL REWINO(LUC)
         DO JROOT = 1, NROOT
  cnw     CALL FRMDSC(KPVEC1,NVAR,-1,LUC,IMZERO,IAMPACK)
          if(.not.dra_read_section(.false.,KPVEC1,1,NVAR,1,1,
       &     LUC,1,NVAR,JROOT,JROOT)) call errquit('dra error',911)
          CALL EXP_LZ2(KPVEC1,KPVEC2,RLZEFF,RL2EFF,0)
          dbl_mb(KLZEXP-1+JROOT) = RLZEFF
          dbl_mb(KL2EXP-1+JROOT) = RL2EFF
  