anchor.diff:      iErr = .true.
       return
   #endif
  -    scatter_GENERATOR(scatter_nGENERATOR,2) = 20 ! Code for PYTHIASIMPLE
  -    scatter_GENERATOR(scatter_nGENERATOR,3) = 0  ! Parameters
  -    scatter_GENERATOR(scatter_nGENERATOR,4) = 0  ! CrossSection
  +    if(nSplit /= 4) then
  +      write(lout,"(a)") "SCATTER> ERROR GEN PPBEAMELASTIC expected 4 arguments:"
  +      write(lout,"(a)") "SCATTER>       GEN name PYTHIASIMPLE crossSection"
  +      call prror(-1)
  +      iErr = .true.
  +      return
  +    end if
  +
  +    scatter_GENERATOR(scatter_nGen,2) = 20 ! Code for PYTHIASIMPLE
  +    scatter_GENERATOR(scatter_nGen,3) = 0  ! Parameters
  +    scatter_GENERATOR(scatter_nGen,4) = 0  ! CrossSection
  +
  +    genType = 20
  +
  +    call str_cast(lnSplit(4),fParams(1),iErr) ! crossSection
  +    crossSection = fParams(1) * c1m27         ! Set crossSection explicitly in mb
   
       if(nSplit == 4) then
         ! Save specified crossSection
         tmpIdx = scatter_nfData + 1
  -      scatter_GENERATOR(scatter_nGENERATOR,4) = tmpIdx
  +      scatter_GENERATOR(scatter_nGen,4) = tmpIdx
         scatter_nfData = scatter_nfData + 1
         call alloc(scatter_fData, scatter_nfData, zero, "scatter_fData")
         call str_cast(lnSplit(4),scatter_fData(tmpIdx),iErr)
  
positive.code: 
      ! Request space to store the arguments
      tmpIdx = scatter_nfData + 1
      scatter_GENERATOR(scatter_nGENERATOR,3) = tmpIdx ! Parameters
      scatter_GENERATOR(scatter_nGENERATOR,4) = 0      ! CrossSection
      scatter_nfData = scatter_nfData + nSplit - 3
      call alloc(scatter_fData, scatter_nfData, zero, "scatter_fData")
  
  
negative.code: 
  ! =================================================================================================
  !  K. Sjobak, V.K. Berglyd Olsen, BE-ABP-HSS
  !  Last modified: 2018-11-10
  ! =================================================================================================
  subroutine scatter_parseElem(lnSplit, nSplit, iErr)
  
  