diff --git a/src/cloud/occi/lib/ui/public/js/plugins/compute.js b/src/cloud/occi/lib/ui/public/js/plugins/compute.js
index 5b99c81c9f..dabafb3edc 100644
--- a/src/cloud/occi/lib/ui/public/js/plugins/compute.js
+++ b/src/cloud/occi/lib/ui/public/js/plugins/compute.js
@@ -437,22 +437,6 @@ function vMachineElementArray(vm_json){
 }
 
 
-//Creates a listener for the TDs of the VM table
-function vMachineInfoListener(){
-
-    $('#tbodyvmachines tr',dataTable_vMachines).live("click", function(e){
-        if ($(e.target).is('input') || $(e.target).is('a img')) {return true;}
-
-        var aData = dataTable_vMachines.fnGetData(this);
-        var id = $(aData[0]).val();
-        if (!id) return true;
-
-        popDialogLoading();
-        Sunstone.runAction("VM.showinfo",id);
-        return false;
-    });
-}
-
 // Callback to refresh a single element from the list
 function updateVMachineElement(request, vm_json){
     var id = vm_json.COMPUTE.ID;
@@ -1135,7 +1119,7 @@ $(document).ready(function(){
 
     initCheckAllBoxes(dataTable_vMachines);
     tableCheckboxesListener(dataTable_vMachines);
-    vMachineInfoListener();
+    infoListener(dataTable_vMachines,'VM.showinfo');
 
     $('#li_vms_tab').click(function(){
         popUpVMDashboard();
diff --git a/src/cloud/occi/lib/ui/public/js/plugins/network.js b/src/cloud/occi/lib/ui/public/js/plugins/network.js
index b909d84d68..a19f9046bc 100644
--- a/src/cloud/occi/lib/ui/public/js/plugins/network.js
+++ b/src/cloud/occi/lib/ui/public/js/plugins/network.js
@@ -233,22 +233,6 @@ function vNetworkElementArray(vn_json){
 };
 
 
-//Adds a listener to show the extended info when clicking on a row
-function vNetworkInfoListener(){
-
-    $('#tbodyvnetworks tr',dataTable_vNetworks).live("click", function(e){
-        if ($(e.target).is('input')) {return true;};
-
-        var aData = dataTable_vNetworks.fnGetData(this);
-        var id = $(aData[0]).val();
-        if (!id) return true;
-
-        popDialogLoading();
-        Sunstone.runAction("Network.showinfo",id);
-        return false;
-    });
-}
-
 //Callback to update a vnet element after an action on it
 function updateVNetworkElement(request, vn_json){
     id = vn_json.NETWORK.ID;
@@ -443,7 +427,7 @@ $(document).ready(function(){
 
     initCheckAllBoxes(dataTable_vNetworks);
     tableCheckboxesListener(dataTable_vNetworks);
-    vNetworkInfoListener();
+    infoListener(dataTable_vNetworks,'Network.showinfo');
 
     $('#li_vnets_tab').click(function(){
         popUpVNetDashboard();
diff --git a/src/cloud/occi/lib/ui/public/js/plugins/storage.js b/src/cloud/occi/lib/ui/public/js/plugins/storage.js
index d21f7b285a..c42a3ab7dc 100644
--- a/src/cloud/occi/lib/ui/public/js/plugins/storage.js
+++ b/src/cloud/occi/lib/ui/public/js/plugins/storage.js
@@ -300,24 +300,6 @@ function imageElementArray(image_json){
     ];
 }
 
-// Set up the listener on the table TDs to show the info panel
-function imageInfoListener(){
-    $('#tbodyimages tr',dataTable_images).live("click",function(e){
-        var target = $(e.target);
-
-        if (target.is('input') || target.is('select') || target.is('option'))
-            return true;
-
-        var aData = dataTable_images.fnGetData(this);
-        var id = $(aData[0]).val();
-        if (!id) return true;
-
-        popDialogLoading();
-        Sunstone.runAction("Image.showinfo",id);
-        return false;
-    });
-}
-
 // Callback to update an element in the dataTable
 function updateImageElement(request, image_json){
     var id = image_json.STORAGE.ID;
@@ -629,7 +611,7 @@ $(document).ready(function(){
 
     initCheckAllBoxes(dataTable_images);
     tableCheckboxesListener(dataTable_images);
-    imageInfoListener();
+    infoListener(dataTable_images, 'Image.showinfo');
 
     $('#li_images_tab').click(function(){
         popUpImageDashboard();
diff --git a/src/ozones/Server/public/js/plugins/vdcs-tab.js b/src/ozones/Server/public/js/plugins/vdcs-tab.js
index 29bf077e10..773417ab31 100644
--- a/src/ozones/Server/public/js/plugins/vdcs-tab.js
+++ b/src/ozones/Server/public/js/plugins/vdcs-tab.js
@@ -307,20 +307,6 @@ function vdcElementArray(vdc_json){
     ];
 }
 
-function vdcInfoListener() {
-    $("#tbodyvdcs tr").live("click", function(e){
-        if ($(e.target).is('input')) {return true;}
-
-        var aData = dataTable_vdcs.fnGetData(this);
-        var id = $(aData[0]).val();
-        if (!id) return true;
-
-        popDialogLoading();
-        Sunstone.runAction("VDC.showinfo",id);
-        return false;
-    });
-}
-
 function deleteVDCElement(req){
     deleteElement(dataTable_vdcs,'#vdc_'+req.request.data);
 }
@@ -930,5 +916,5 @@ $(document).ready(function(){
     setVDCAutorefresh();
     initCheckAllBoxes(dataTable_vdcs);
     tableCheckboxesListener(dataTable_vdcs);
-    vdcInfoListener();
+    infoListener(dataTable_vdcs,'VDC.showinfo');
 });
\ No newline at end of file
diff --git a/src/ozones/Server/public/js/plugins/zones-tab.js b/src/ozones/Server/public/js/plugins/zones-tab.js
index 54b1049694..8402f2f5d4 100644
--- a/src/ozones/Server/public/js/plugins/zones-tab.js
+++ b/src/ozones/Server/public/js/plugins/zones-tab.js
@@ -275,20 +275,6 @@ function zoneElementArray(zone_json){
     ];
 }
 
-function zoneInfoListener(){
-    $("#tbodyzones tr").live("click", function(e){
-        if ($(e.target).is('input')) {return true;}
-
-        var aData = dataTable_zones.fnGetData(this);
-        var id = $(aData[0]).val();
-        if (!id) return true;
-
-        popDialogLoading();
-        Sunstone.runAction("Zone.showinfo",id);
-        return false;
-    });
-}
-
 function updateZoneSelect(){
     zones_select = makeSelectOptions(dataTable_zones,1,2,-1,"",-1);
 }
@@ -744,5 +730,5 @@ $(document).ready(function(){
 
     initCheckAllBoxes(dataTable_zones);
     tableCheckboxesListener(dataTable_zones);
-    zoneInfoListener();
+    infoListener(dataTable_zones,'Zone.showinfo');
 });
\ No newline at end of file