diff --git a/print-forces.c b/print-forces.c
index 438aa27..369918b 100644
--- a/print-forces.c
+++ b/print-forces.c
@@ -281,7 +281,7 @@ pdatacnt_print(register const u_char * pptr, register u_int len,
 
 			chk_op_type(type, op_msk, ops->op_msk);
 
-			if (ops->print((const u_char *)pdtlv,
+                       if (ops->print!=NULL && ops->print((const u_char *)pdtlv,
 					tll + pad + TLV_HDRL, op_msk,
 					indent + 2) == -1)
 				return -1;
@@ -503,7 +503,9 @@ int otlv_print(const struct forces_tlv *otlv, u_int16_t op_msk _U_, int indent)
 
 	}
 
-	rc = ops->print(dp, tll, ops->op_msk, indent + 1);
+        if(ops->print) {
+          rc = ops->print(dp, tll, ops->op_msk, indent + 1);
+        }
 	return rc;
 
 trunc:
