diff --git a/src/USER-REAXC/reaxc_ffield.cpp b/src/USER-REAXC/reaxc_ffield.cpp
index 912a49daa2eaae429b30b21698f75ef0c6ff2c97..fda284140349885e083c50fe17e79f4d86489ec9 100644
--- a/src/USER-REAXC/reaxc_ffield.cpp
+++ b/src/USER-REAXC/reaxc_ffield.cpp
@@ -643,6 +643,11 @@ char Read_Force_Field( FILE *fp, reax_interaction *reax,
   c = Tokenize( s, &tmp );
   l = atoi( tmp[0] );
 
+  for( i = 0; i < reax->num_atom_types; ++i )
+    for( j = 0; j < reax->num_atom_types; ++j )
+      for( k = 0; k < reax->num_atom_types; ++k )
+        reax->hbp[i][j][k].r0_hb = -1.0;
+
   for( i = 0; i < l; i++ ) {
     fgets( s, MAX_LINE, fp );
     c = Tokenize( s, &tmp );
diff --git a/src/USER-REAXC/reaxc_hydrogen_bonds.cpp b/src/USER-REAXC/reaxc_hydrogen_bonds.cpp
index f58f9c58421be72506731046b80b551690ff8ae6..8d7b3b381997575806e38f71df9f195c10ff4d33 100644
--- a/src/USER-REAXC/reaxc_hydrogen_bonds.cpp
+++ b/src/USER-REAXC/reaxc_hydrogen_bonds.cpp
@@ -103,6 +103,7 @@ void Hydrogen_Bonds( reax_system *system, control_params *control,
             type_i = system->my_atoms[i].type;
 	    if (type_i < 0) continue;
             hbp = &(system->reax_param.hbp[ type_i ][ type_j ][ type_k ]);
+	    if (hbp->r0_hb <= 0.0) continue;
             ++num_hb_intrs;
 
             Calculate_Theta( pbond_ij->dvec, pbond_ij->d, dvec_jk, r_jk,