}
 
 export class AddWebUriList extends Action {
-  constructor(public searchedElements: guiCutThrough[], public notSearchedElements: string[], public newlySearchedElements?: string[]) {
+  constructor(public searchedElements: guiCutThrough[], public notSearchedElements: string[], public unsupportedElements: string[], public newlySearchedElements?: string[] ) {
     super();
   }
 }
   let notConnectedElements: string[] = [];
   let elementsToSearch: string[] = [];
   let prevFoundElements: string[] = [];
+  let unsupportedElements: string[]= [];
 
 
   networkElements.forEach(item => {
-    const id = item.id as string;
-    if (item.status === "Connected") {
-
-      // element is connected and is added to search list, if it doesn't exist already
-      const exists = guiCutThrough.searchedElements.filter(element => element.nodeId === id).length > 0;
-      if (!exists) {
-        elementsToSearch.push(id);
-
-        //element was found previously, but not searched for a weburi
-        if (guiCutThrough.notSearchedElements.length > 0 && guiCutThrough.notSearchedElements.includes(id)) {
-          prevFoundElements.push(id);
+      const id = item.id as string;
+      if (item.status === "Connected") {
+
+        if(item.coreModelCapability!== "Unsupported"){
+          // element is connected and is added to search list, if it doesn't exist already
+          const exists = guiCutThrough.searchedElements.filter(element => element.nodeId === id).length > 0;
+          if (!exists) {
+            elementsToSearch.push(id);
+    
+            //element was found previously, but wasn't connected
+            if (guiCutThrough.notSearchedElements.length > 0 && guiCutThrough.notSearchedElements.includes(id)) {
+              prevFoundElements.push(id);
+            }
+        }
+        }else{
+          // element does not support core model and must not be searched for a weburi
+          const id = item.id as string;
+          const exists = guiCutThrough.unsupportedElements.filter(element => element === id).length > 0;
+          if(!exists){
+            unsupportedElements.push(id);
+
+             //element was found previously, but wasn't connected
+          if (guiCutThrough.notSearchedElements.length > 0 && guiCutThrough.notSearchedElements.includes(id)) {
+            prevFoundElements.push(id);
+          }
+          }
         }
       }
-    }
-    else {
-      // element isn't connected and cannot be searched for a weburi
-      if (!guiCutThrough.notSearchedElements.includes(id)) {
-        notConnectedElements.push(item.id as string);
+      else {
+        // element isn't connected and cannot be searched for a weburi
+        if (!guiCutThrough.notSearchedElements.includes(id)) {
+          notConnectedElements.push(item.id as string);
+        }
       }
-    }
   });
 
-  if (elementsToSearch.length > 0 || notConnectedElements.length > 0) {
+  
+  if (elementsToSearch.length > 0 || notConnectedElements.length > 0 || unsupportedElements.length>0 ) {
     const result = await connectService.getAllWebUriExtensionsForNetworkElementListAsync(elementsToSearch);
-    dispatcher(new AddWebUriList(result, notConnectedElements, prevFoundElements));
+  dispatcher(new AddWebUriList(result, notConnectedElements, unsupportedElements, prevFoundElements));
   }
+
   isBusy = false;
 }
 
 
 interface guiCutThroughState {
   searchedElements: guiCutThrough[];
   notSearchedElements: string[];
+  unsupportedElements: string[];
 }
 
-const guiCutThroughHandler: IActionHandler<guiCutThroughState> = (state = { searchedElements: [], notSearchedElements: [] }, action) => {
+const guiCutThroughHandler: IActionHandler<guiCutThroughState> = (state = { searchedElements: [], notSearchedElements: [], unsupportedElements:[] }, action) => {
   if (action instanceof AddWebUriList) {
     let notSearchedElements: string[];
     let searchedElements: guiCutThrough[];
+    let unsupportedElements: string[];
 
     notSearchedElements = state.notSearchedElements.concat(action.notSearchedElements);
+    unsupportedElements = state.unsupportedElements.concat(action.unsupportedElements);
 
     //remove elements, which were just searched
     if (action.newlySearchedElements) {
 
     searchedElements = state.searchedElements.concat(action.searchedElements);
 
-    state = { searchedElements: searchedElements, notSearchedElements: notSearchedElements }
+    state = { searchedElements: searchedElements, notSearchedElements: notSearchedElements, unsupportedElements: unsupportedElements }
 
   } else if (action instanceof RemoveWebUri) {
     const nodeId = action.element;
     const webUris = state.searchedElements.filter(item => item.nodeId !== nodeId);
     const knownElements = state.notSearchedElements.filter(item => item !== nodeId);
-    state = { notSearchedElements: knownElements, searchedElements: webUris };
+    const unsupportedElement = state.unsupportedElements.filter(item => item != nodeId);
+    state = { notSearchedElements: knownElements, searchedElements: webUris, unsupportedElements: unsupportedElement  };
   }
   return state;
 }