diff --git a/ripd/rip_interface.c b/ripd/rip_interface.c
index 1aec0f0..e187d8b 100644
--- a/ripd/rip_interface.c
+++ b/ripd/rip_interface.c
@@ -1981,7 +1981,7 @@
   /* RIP passive interface listing. */
   if (config_mode) {
     if (passive_default)
-      vty_out (vty, " passive-interface default%s", ifname, VTY_NEWLINE);
+      vty_out (vty, " passive-interface default%s", VTY_NEWLINE);
     for (i = 0; i < vector_max (Vrip_passive_nondefault); i++)
       if ((ifname = vector_slot (Vrip_passive_nondefault, i)) != NULL)
 	vty_out (vty, " %spassive-interface %s%s",
diff --git a/ripd/ripd.c b/ripd/ripd.c
index c9289e7..d2a6b4d 100644
--- a/ripd/ripd.c
+++ b/ripd/ripd.c
@@ -1992,7 +1992,7 @@
   struct connected *c;
   int num;
   int rtemax;
-  int subnetted;
+  int subnetted = 0;
 
   /* Logging output event. */
   if (IS_RIP_DEBUG_EVENT)
@@ -2061,7 +2061,7 @@
       apply_classful_mask_ipv4 (&ifaddrclass);
       subnetted = 0;
       if (ifaddr->prefixlen > ifaddrclass.prefixlen)
-	subnetted = 1;
+        subnetted = 1;
     }
 
   for (rp = route_top (rip->table); rp; rp = route_next (rp))
@@ -2260,7 +2260,7 @@
       if (IS_RIP_DEBUG_EVENT)
 	zlog_info ("multicast announce on %s ", ifp->name);
 
-      rip_output_process (ifp, NULL, NULL, route_type, version);
+      rip_output_process (ifp, NULL, NULL, route_type, rip->version_send);
       return;
     }
 
@@ -2288,7 +2288,7 @@
 			   inet_ntoa (to.sin_addr), ifp->name);
 
 	      rip_output_process (ifp, connected->address, &to, route_type,
-				  version_send);
+				 rip->version_send);
 	    }
 	}
     }
@@ -2369,7 +2369,7 @@
 	to.sin_port = htons (RIP_PORT_DEFAULT);
 
 	/* RIP version is rip's configuration. */
-	rip_output_process (ifp, NULL, &to, route_type, rip->version);
+	rip_output_process (ifp, NULL, &to, route_type, rip->version_send);
       }
 }
 
