diff --git a/bgpd/bgp_community.c b/bgpd/bgp_community.c
index 68383ad..ae1d7a1 100644
--- a/bgpd/bgp_community.c
+++ b/bgpd/bgp_community.c
@@ -292,13 +292,6 @@
   return str;
 }
 
-/* Find an 'intern'ed community structure */
-struct community *
-community_lookup (struct community *com)
-{
-   return (struct community *) hash_lookup (comhash, com);
-}
-
 /* Intern communities attribute.  */
 struct community *
 community_intern (struct community *com)
diff --git a/bgpd/bgp_community.h b/bgpd/bgp_community.h
index 78cbfe2..bc1e56e 100644
--- a/bgpd/bgp_community.h
+++ b/bgpd/bgp_community.h
@@ -70,6 +70,5 @@
 extern void community_del_val (struct community *, u_int32_t *);
 extern unsigned long community_count (void);
 extern struct hash *community_hash (void);
-extern struct community *community_lookup (struct community *);
 
 #endif /* _QUAGGA_BGP_COMMUNITY_H */
diff --git a/bgpd/bgp_routemap.c b/bgpd/bgp_routemap.c
index 2b05e89..81ff48d 100644
--- a/bgpd/bgp_routemap.c
+++ b/bgpd/bgp_routemap.c
@@ -1297,7 +1297,7 @@
 	new = community_dup (rcs->com);
       
       /* will be interned by caller if required */
-      attr->community = community_intern (new);
+      attr->community = new;
 
       attr->flag |= ATTR_FLAG_BIT (BGP_ATTR_COMMUNITIES);
     }
@@ -1311,7 +1311,6 @@
 {
   struct rmap_com_set *rcs;
   struct community *com = NULL;
-  struct community *comint;
   char *sp;
   int additive = 0;
   int none = 0;
@@ -1338,9 +1337,8 @@
 	return NULL;
     }
   
-  comint = community_intern (com);
   rcs = XCALLOC (MTYPE_ROUTE_MAP_COMPILED, sizeof (struct rmap_com_set));
-  rcs->com = comint;
+  rcs->com = com;
   rcs->additive = additive;
   rcs->none = none;
   
@@ -1403,7 +1401,7 @@
 	    }
 	  else
 	    {
-	      binfo->attr->community = community_intern (new);
+	      binfo->attr->community = new;
 	      binfo->attr->flag |= ATTR_FLAG_BIT (BGP_ATTR_COMMUNITIES);
 	    }
 	}
