diff --git a/html/includes/print-map.inc.php b/html/includes/print-map.inc.php
index f5a9f1e88..0deb61806 100644
--- a/html/includes/print-map.inc.php
+++ b/html/includes/print-map.inc.php
@@ -35,7 +35,7 @@ if (is_admin() === false && is_read() === false) {
$tmp_devices = array();
$tmp_ids = array();
$tmp_links = array();
-
+$tmp_link_ids = array();
$ports = dbFetchRows("SELECT
`D1`.`device_id` AS `local_device_id`,
@@ -161,6 +161,10 @@ foreach ($list as $items) {
}
$link_color = $config['map_legend'][$link_used];
$tmp_links[] = array('from'=>$items['local_device_id'],'to'=>$items['remote_device_id'],'label'=>shorten_interface_type($items['local_ifname']) . ' > ' . shorten_interface_type($items['remote_ifname']),'title'=>generate_port_link($local_port, "
",'',0,1),'width'=>$width,'color'=>$link_color);
+ if (!in_array($items['remote_port_id'],$tmp_link_ids)) {
+ $tmp_links[] = array('from'=>$items['local_device_id'],'to'=>$items['remote_device_id'],'label'=>shorten_interface_type($items['local_ifname']) . ' > ' . shorten_interface_type($items['remote_ifname']),'title'=>generate_port_link($local_port, "
",'',0,1),'width'=>$width,'color'=>$link_color);
+ }
+ array_push($tmp_link_ids,$items['local_port_id']);
}
$node_devices = $tmp_devices;
diff --git a/sql-schema/057.sql b/sql-schema/057.sql
new file mode 100644
index 000000000..437bf0d17
--- /dev/null
+++ b/sql-schema/057.sql
@@ -0,0 +1,3 @@
+ALTER TABLE `ipv4_mac` CHANGE `mac_address` `mac_address` VARCHAR( 32 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , CHANGE `ipv4_address` `ipv4_address` VARCHAR( 32 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL
+ALTER TABLE `ipv4_mac` ADD INDEX ( `port_id`), ADD INDEX (`mac_address` )
+ALTER TABLE `ipv4_mac` DROP INDEX `interface_id`, DROP INDEX `interface_id_2`