static int process_ver_nack(struct ldc_channel *lp, struct ldc_version *vp)
 {
        struct ldc_version *vap;
+       struct ldc_packet *p;
+       unsigned long new_tail;
 
-       if ((vp->major == 0 && vp->minor == 0) ||
-           !(vap = find_by_major(vp->major))) {
+       if (vp->major == 0 && vp->minor == 0)
+               return ldc_abort(lp);
+
+       vap = find_by_major(vp->major);
+       if (!vap)
                return ldc_abort(lp);
-       } else {
-               struct ldc_packet *p;
-               unsigned long new_tail;
 
-               p = handshake_compose_ctrl(lp, LDC_INFO, LDC_VERS,
+       p = handshake_compose_ctrl(lp, LDC_INFO, LDC_VERS,
                                           vap, sizeof(*vap),
                                           &new_tail);
-               if (p)
-                       return send_tx_packet(lp, p, new_tail);
-               else
-                       return ldc_abort(lp);
-       }
+       if (!p)
+               return ldc_abort(lp);
+
+       return send_tx_packet(lp, p, new_tail);
 }
 
 static int process_version(struct ldc_channel *lp,