diff --git a/SAS/OTDB/sql/updateVTnode_func.sql b/SAS/OTDB/sql/updateVTnode_func.sql
index c7efa269acca77d393db4ea6547b95ddd4169b0e..d30bcc970c4b095dd2a3f637c9eec8d2636a6c09 100644
--- a/SAS/OTDB/sql/updateVTnode_func.sql
+++ b/SAS/OTDB/sql/updateVTnode_func.sql
@@ -29,14 +29,18 @@
 --
 -- Authorisation: yes
 --
--- Tables:	VICtemplate	update
+-- Tables:	VICtemplate		update
+--			VIChierarchy	update
 --
 -- Types:	OTDBnode
 --
 CREATE OR REPLACE FUNCTION updateVTnode(INT4, INT4, INT4, INT2, TEXT)
   RETURNS BOOLEAN AS '
 	DECLARE
-		vFunction		INT2 := 1;
+		TThardware CONSTANT	INT2 := 10;
+		TTtemplate CONSTANT	INT2 := 20;
+		vFunction  CONSTANT	INT2 := 1;
+		vTreeType		OTDBtree.treetype%TYPE;
 		vIsAuth			BOOLEAN;
 		vAuthToken		ALIAS FOR $1;
 		vLimits			TEXT;
@@ -51,16 +55,39 @@ CREATE OR REPLACE FUNCTION updateVTnode(INT4, INT4, INT4, INT2, TEXT)
 			RETURN FALSE;
 		END IF;
 
-		-- get ParentID of node to duplicate
-		vLimits := replace($5, \'\\\'\', \'\');
-		UPDATE	VICtemplate
-		SET		instances = $4,
-				limits    = vLimits
-		WHERE	treeID = $2
-		AND 	nodeID = $3;
+		-- get treetype
+		SELECT	treetype
+		INTO	vTreeType
+		FROM	OTDBtree
+		WHERE	treeID = $1;
 		IF NOT FOUND THEN
-		  RAISE EXCEPTION \'Node % could not be updated\', $3;
-		  RETURN FALSE;
+		  RAISE EXCEPTION \'Tree % does not exist\', $1;
+		END IF;
+
+		IF vTreeType = TTtemplate THEN
+			-- get ParentID of node to duplicate
+			vLimits := replace($5, \'\\\'\', \'\');
+			UPDATE	VICtemplate
+			SET		instances = $4,
+					limits    = vLimits
+			WHERE	treeID = $2
+			AND 	nodeID = $3;
+			IF NOT FOUND THEN
+			  RAISE EXCEPTION \'Node % of template-tree could not be updated\', $3;
+			  RETURN FALSE;
+			END IF;
+		ELSEIF vTreeType = TTHardware THEN
+			vLimits := replace($5, \'\\\'\', \'\');
+			UPDATE	VIChierarchy
+			SET		limits = vLimits
+			WHERE	treeID = $2
+			AND 	nodeID = $3;
+			IF NOT FOUND THEN
+			  RAISE EXCEPTION \'Node % of VIC-tree could not be updated\', $3;
+			  RETURN FALSE;
+			END IF;
+		ELSE
+			RAISE EXCEPTION \'Nodes of PIC trees can not be updated\';
 		END IF;
 
 		RETURN TRUE;