diff --git a/doc/ospfd.texi b/doc/ospfd.texi
index 4ba9969..10ffe2d 100644
--- a/doc/ospfd.texi
+++ b/doc/ospfd.texi
@@ -211,8 +211,7 @@
 10.10.0.0/16 (for example 10.10.1.0/24 and 10.10.2.128/30) are announced into
 other areas as Type-3 summary-LSA's, but any others (for example 10.11.0.0/16
 or 10.128.30.16/30) aren't.
-Note, that you can't configure export-list to backbone area and this command
-makes sense in ABR only.
+This command makes sense in ABR only.
 @end deffn
 
 @deffn {OSPF Command} {area @var{a.b.c.d} import-list NAME} {}
@@ -231,8 +230,8 @@
 @deffnx {OSPF Command} {no area @var{a.b.c.d} filter-list prefix NAME out} {}
 @deffnx {OSPF Command} {no area <0-4294967295> filter-list prefix NAME in} {}
 @deffnx {OSPF Command} {no area <0-4294967295> filter-list prefix NAME out} {}
-Filtering Type-3 summary-LSAs to/from area using prefix lists. Unlike export-
-and import-list, these commands can be used with backbone area as well.
+Filtering Type-3 summary-LSAs to/from area using prefix lists. This command
+makes sense in ABR only.
 @end deffn
 
 @deffn {OSPF Command} {area @var{a.b.c.d} authentication} {}
diff --git a/ospfd/ChangeLog b/ospfd/ChangeLog
index 140f87a..904228c 100644
--- a/ospfd/ChangeLog
+++ b/ospfd/ChangeLog
@@ -1,3 +1,9 @@
+2004-04-19 Hasso Tepper <hasso@estpak.ee>
+
+	* ospf_vty.c: Don't warn that export- and import-list can't be
+	  configured to backbone area if they are applied and are working
+	  fine.
+
 2004-02-19 Sowmini Varadhan <sowmini.varadhan@sun.com>
 
 	* ospf_packet.c: Don't drop packets in Solaris x86.
diff --git a/ospfd/ospf_vty.c b/ospfd/ospf_vty.c
index 14cd976..7a5c49a 100644
--- a/ospfd/ospf_vty.c
+++ b/ospfd/ospf_vty.c
@@ -1702,8 +1702,6 @@
   struct in_addr area_id;
   int format;
 
-  VTY_GET_OSPF_AREA_ID_NO_BB ("export-list", area_id, format, argv[0]);
-
   area = ospf_area_get (ospf, area_id, format);
   ospf_area_export_list_set (ospf, area, argv[1]);
 
@@ -1725,8 +1723,6 @@
   struct in_addr area_id;
   int format;
 
-  VTY_GET_OSPF_AREA_ID_NO_BB ("export-list", area_id, format, argv[0]);
-
   area = ospf_area_lookup_by_area_id (ospf, area_id);
   if (area == NULL)
     return CMD_SUCCESS;
@@ -1751,8 +1747,6 @@
   struct in_addr area_id;
   int format;
 
-  VTY_GET_OSPF_AREA_ID_NO_BB ("import-list", area_id, format, argv[0]);
-
   area = ospf_area_get (ospf, area_id, format);
   ospf_area_import_list_set (ospf, area, argv[1]);
 
@@ -1774,7 +1768,6 @@
   struct in_addr area_id;
   int format;
 
-  VTY_GET_OSPF_AREA_ID_NO_BB ("import-list", area_id, format, argv[0]);
   area = ospf_area_lookup_by_area_id (ospf, area_id);
   if (area == NULL)
     return CMD_SUCCESS;
