Hi! I noticed that besides that specialization does not work (see [0], this is apparently related to bugs/goops-apply-generic), the no-method generic isn't invoked, because the C-based protocol does not use it at all. Here is an example: guile> (use-modules (oop goops)) guile> (define-generic foobar) guile> (foobar) Backtrace: In current input: 3: 0* [foobar] :3:1: In procedure foobar in expression (foobar): :3:1: No applicable method for #< foobar (0)> in call (foobar) ABORT: (goops-error) guile> According to the MOP, no-method should be invoked, which in turn would yield another error message (from oop/goops.scm): (define-method (no-method (gf ) args) (goops-error "No method defined for ~S" gf)) The following small patch fixes the issue; however, I'm not sure if I added the code "at the right place":