diff --git a/src/if_python3.c b/src/if_python3.c
index b7323c2..923d046 100644
--- a/src/if_python3.c
+++ b/src/if_python3.c
@@ -1067,12 +1067,15 @@
  */
 
     static PyObject *
-BufferGetattro(PyObject *self, PyObject*nameobj)
+BufferGetattro(PyObject *self, PyObject *nameobj)
 {
     PyObject *r;
 
     GET_ATTR_STRING(name, nameobj);
 
+    if ((r = BufferAttrValid((BufferObject *)(self), name)))
+	return r;
+
     if (CheckBuffer((BufferObject *)(self)))
 	return NULL;
 
@@ -1094,8 +1097,9 @@
     static PyObject *
 BufferDir(PyObject *self UNUSED)
 {
-    return Py_BuildValue("[sssss]", "name", "number",
-						   "append", "mark", "range");
+    return Py_BuildValue("[ssssssss]",
+	    "name", "number", "vars", "options", "valid",
+	    "append", "mark", "range");
 }
 
 /******************/
@@ -1283,6 +1287,9 @@
 
     GET_ATTR_STRING(name, nameobj);
 
+    if ((r = TabPageAttrValid((TabPageObject *)(self), name)))
+	return r;
+
     if (CheckTabPage((TabPageObject *)(self)))
 	return NULL;
 
@@ -1303,6 +1310,9 @@
 
     GET_ATTR_STRING(name, nameobj);
 
+    if ((r = WindowAttrValid((WindowObject *)(self), name)))
+	return r;
+
     if (CheckWindow((WindowObject *)(self)))
 	return NULL;
 
