diff --git a/modules/tags/class/TagControler_Abstract.php b/modules/tags/class/TagControler_Abstract.php
index a62389831ff3f4a11eb1d2a4634b5e67807b51d9..81d46bcccd765963907c0ad3943d328a2c1928b7 100755
--- a/modules/tags/class/TagControler_Abstract.php
+++ b/modules/tags/class/TagControler_Abstract.php
@@ -530,8 +530,8 @@ abstract class tag_controler_Abstract extends ObjectControler
         {
              $stmt = $db->query(
                 "INSERT INTO " ._TAG_TABLE_NAME
-                . "(tag_label, coll_id) VALUES (?, ?)"
-              ,array($new_tag_label,$coll_id));
+                . "(tag_label, coll_id, entity_id_owner) VALUES (?, ?, ?)"
+              ,array($new_tag_label,$coll_id,$_SESSION['user']['primaryentity']['id']));
              
             $tag_id = $db->lastInsertId('tag_id_seq');
             
diff --git a/modules/tags/manage_tag_list_controller.php b/modules/tags/manage_tag_list_controller.php
index 2df76f8324de77dd5afd34be15cf459e5485de60..c5d0ea8710ced9e7346424abb4d0ad634de4a88b 100755
--- a/modules/tags/manage_tag_list_controller.php
+++ b/modules/tags/manage_tag_list_controller.php
@@ -211,8 +211,13 @@ function display_list() {
     array_push(
         $select[TAGS], 'tag_id', 'tag_label'
     );
-    $where = '';
-    $where_what = array();
+    if($_SESSION['user']['UserId'] == 'superadmin'){
+        $where = '';
+        $where_what = array();
+    }else{
+        $where = 'entity_id_owner = ? OR entity_id_owner IS NULL';
+        $where_what = array($_SESSION['user']['primaryentity']['id']);   
+    }
     $what = '';
     //var_dump($_REQUEST['what']);exit;
     if (isset($_REQUEST['what'])) {
diff --git a/sql/160_to_161.sql b/sql/160_to_161.sql
index 56a618bad5e1424f5ff0bb0b86574efd37bf884a..b64e189c4058ac81f059520b7f2cc92d5bd228ff 100644
--- a/sql/160_to_161.sql
+++ b/sql/160_to_161.sql
@@ -25,6 +25,7 @@ CREATE SEQUENCE tag_id_seq
   CACHE 1;
 
 ALTER TABLE tags ADD tag_id bigint NOT NULL DEFAULT nextval('tag_id_seq'::regclass);
+ALTER TABLE tags ADD entity_id_owner character varying(32);
 
 CREATE SEQUENCE tmp_tag_id_seq
   INCREMENT 1
diff --git a/sql/structure.sql b/sql/structure.sql
index 5e8c440dae0e10f62f4a77e3fe382e0a32503449..78dc1fdb6e4a4225e1f5d496c3c43d3d1168bc1d 100644
--- a/sql/structure.sql
+++ b/sql/structure.sql
@@ -1765,6 +1765,7 @@ CREATE TABLE tags
   tag_id bigint NOT NULL DEFAULT nextval('tag_id_seq'::regclass),
   tag_label character varying(50) NOT NULL,
   coll_id character varying(50) NOT NULL,
+  entity_id_owner character varying(32),
   CONSTRAINT tag_id_pkey PRIMARY KEY (tag_id)
 )
 WITH (OIDS=FALSE);