diff --git a/TestON/tests/FUNC/FUNCintent/FUNCintent.py b/TestON/tests/FUNC/FUNCintent/FUNCintent.py
index 86b9f53..6c12a4f 100644
--- a/TestON/tests/FUNC/FUNCintent/FUNCintent.py
+++ b/TestON/tests/FUNC/FUNCintent/FUNCintent.py
@@ -897,41 +897,6 @@
                                  onpass=main.assertReturnString,
                                  onfail=main.assertReturnString )
 
-        main.step( "Protected: Add point intents between h1 and h9" )
-        main.assertReturnString = "Assertion Result for protected point intent\n"
-        senders = [
-            { "name": "h1", "device": "of:0000000000000005/1", "mac": "00:00:00:00:00:01" }
-        ]
-        recipients = [
-            { "name": "h9", "device": "of:0000000000000006/1", "mac": "00:00:00:00:00:09" }
-        ]
-        testResult = main.FALSE
-        installResult = main.intents.installPointIntent(
-            main,
-            name="Protected",
-            senders=senders,
-            recipients=recipients,
-            protected=True )
-
-        if installResult:
-            testResult = main.intents.testPointIntent(
-                main,
-                name="Protected",
-                intentId=installResult,
-                senders=senders,
-                recipients=recipients,
-                sw1="s5",
-                sw2="s2",
-                protected=True,
-                expectedLink=18 )
-        else:
-            main.intents.removeAllExistIntents( main )
-
-        utilities.assert_equals( expect=main.TRUE,
-                                 actual=testResult,
-                                 onpass=main.assertReturnString,
-                                 onfail=main.assertReturnString )
-
         main.step( "IPV4_2: Add point intents between h1 and h9" )
         main.assertReturnString = "Assertion Result for IPV4 no mac address point intents\n"
         senders = [
