diff --git a/example/example11.cpp b/example/example11.cpp
index 9599f94..e7069de 100644
--- a/example/example11.cpp
+++ b/example/example11.cpp
@@ -8,11 +8,26 @@
 */
 
 #include "example.h"
+#include <pybind11/stl.h>
 
 void kw_func(int x, int y) { std::cout << "kw_func(x=" << x << ", y=" << y << ")" << std::endl; }
 
+void kw_func4(const std::vector<int> &entries) {
+    std::cout << "kw_func4: ";
+    for (int i : entries)
+        std::cout << i << " ";
+    std::cout << endl;
+}
+
 void init_ex11(py::module &m) {
     m.def("kw_func", &kw_func, py::arg("x"), py::arg("y"));
     m.def("kw_func2", &kw_func, py::arg("x") = 100, py::arg("y") = 200);
     m.def("kw_func3", [](const char *) { }, py::arg("data") = std::string("Hello world!"));
+
+    /* A fancier default argument */
+    std::vector<int> list;
+    list.push_back(13);
+    list.push_back(17);
+
+    m.def("kw_func4", &kw_func4, py::arg("myList") = list);
 }
diff --git a/example/example11.py b/example/example11.py
index 7d0217a..04baa7b 100755
--- a/example/example11.py
+++ b/example/example11.py
@@ -5,11 +5,12 @@
 
 sys.path.append('.')
 
-from example import kw_func, kw_func2, kw_func3
+from example import kw_func, kw_func2, kw_func3, kw_func4
 
 print(pydoc.render_doc(kw_func, "Help on %s"))
 print(pydoc.render_doc(kw_func2, "Help on %s"))
 print(pydoc.render_doc(kw_func3, "Help on %s"))
+print(pydoc.render_doc(kw_func4, "Help on %s"))
 
 kw_func(5, 10)
 kw_func(5, y=10)
@@ -29,3 +30,6 @@
     kw_func2(x=5, y=10, z=12)
 except Exception as e:
     print("Caught expected exception: " + str(e))
+
+kw_func4()
+kw_func4(myList = [1, 2, 3])
diff --git a/example/example11.ref b/example/example11.ref
index dafa62c..7d75056 100644
--- a/example/example11.ref
+++ b/example/example11.ref
@@ -11,7 +11,12 @@
 Help on built-in function kw_func3
 
 kkww__ffuunncc33(...)
-    Signature : (data : str = u'Hello world!') -> NoneType
+    Signature : (data : unicode = u'Hello world!') -> NoneType
+
+Help on built-in function kw_func4
+
+kkww__ffuunncc44(...)
+    Signature : (myList : list<int> = [13L, 17L]) -> NoneType
 
 kw_func(x=5, y=10)
 kw_func(x=5, y=10)
@@ -25,3 +30,5 @@
 Caught expected exception: Incompatible function arguments. The following argument types are supported:
     1. (x : int = 100L, y : int = 200L) -> NoneType
 
+kw_func4: 13 17 
+kw_func4: 1 2 3 
