Index: src/test/java/org/apache/jackrabbit/core/nodetype/MixinTest.java
===================================================================
--- src/test/java/org/apache/jackrabbit/core/nodetype/MixinTest.java	(revision 1442872)
+++ src/test/java/org/apache/jackrabbit/core/nodetype/MixinTest.java	(working copy)
@@ -24,6 +24,13 @@
 import java.io.InputStreamReader;
 import java.io.Reader;
 
+import javax.jcr.Node;
+import javax.jcr.RepositoryException;
+import javax.jcr.Session;
+import javax.jcr.Value;
+import javax.jcr.ValueFactory;
+import javax.jcr.nodetype.ConstraintViolationException;
+
 /**
  * <code>MixinTest</code>...
  */
@@ -62,4 +69,31 @@
         superuser.save();
         assertFalse(testRootNode.isNodeType("test:mixinNode_protectedchild"));
     }
+
+    /**
+     * Test for bug JCR-3526
+     * 
+     * @see <a
+     *      href="https://issues.apache.org/jira/browse/JCR-3526">JCR-3526</a>
+     * 
+     */
+    public void testAddProtectedMixin() throws RepositoryException {
+
+        Session session1 = getHelper().getReadWriteSession();
+        ValueFactory vf = session1.getValueFactory();
+
+        Node tmp = session1.getRootNode().addNode(
+                "tmp" + System.currentTimeMillis());
+        try {
+            tmp.setProperty("jcr:mixinTypes",
+                    new Value[] { vf.createValue("mix:versionable") });
+            session1.save();
+            fail("expecting ConstraintViolationException");
+        } catch (ConstraintViolationException ex) {
+            // expected
+        } finally {
+            session1.logout();
+        }
+    }
+
 }
\ No newline at end of file
