diff --git a/tests/CSharpTemp/CSharpTemp.Tests.cs b/tests/CSharpTemp/CSharpTemp.Tests.cs
index 74471972..a0d07db2 100644
--- a/tests/CSharpTemp/CSharpTemp.Tests.cs
+++ b/tests/CSharpTemp/CSharpTemp.Tests.cs
@@ -8,6 +8,14 @@ using Foo = CSharpTemp.Foo;
 
 public class CSharpTempTests : GeneratorTestFixture
 {
+    public class ExtendsWrapper : TestOverrideFromSecondaryBase
+    {
+        public ExtendsWrapper()
+        {
+            ProtectedFunction();
+        }
+    }
+
     [Test]
     public void TestIndexer()
     {
diff --git a/tests/CSharpTemp/CSharpTemp.cpp b/tests/CSharpTemp/CSharpTemp.cpp
index b06d4816..58cb06ab 100644
--- a/tests/CSharpTemp/CSharpTemp.cpp
+++ b/tests/CSharpTemp/CSharpTemp.cpp
@@ -487,6 +487,10 @@ void SecondaryBase::function()
 {
 }
 
+void SecondaryBase::protectedFunction()
+{
+}
+
 void TestOverrideFromSecondaryBase::VirtualMember()
 {
 }
diff --git a/tests/CSharpTemp/CSharpTemp.h b/tests/CSharpTemp/CSharpTemp.h
index 9cb24b22..5ddb085c 100644
--- a/tests/CSharpTemp/CSharpTemp.h
+++ b/tests/CSharpTemp/CSharpTemp.h
@@ -497,6 +497,8 @@ public:
     int property();
     void setProperty(int value);
     void function();
+protected:
+    void protectedFunction();
 };
 
 class DLL_API TestOverrideFromSecondaryBase : public Foo, public SecondaryBase