diff --git a/cffi-socket.lisp b/cffi-socket.lisp
index af28d98..ddd81a3 100644
--- a/cffi-socket.lisp
+++ b/cffi-socket.lisp
@@ -44,10 +44,6 @@
(unwind-protect (progn ,@body)
(socket-close ,var))))
-(defcstruct sockaddr
- (sa-family sa-family-t)
- (sa-data :char :count 14))
-
(defcfun ("connect" c-connect) :int
(sockfd :int)
(addr (:pointer (:struct sockaddr)))
diff --git a/grovel-socket.lisp b/grovel-socket.lisp
index 95731c2..f4de110 100644
--- a/grovel-socket.lisp
+++ b/grovel-socket.lisp
@@ -61,6 +61,10 @@
(ctype sa-family-t "sa_family_t")
(ctype in-port-t "in_port_t")
+(cstruct sockaddr "struct sockaddr"
+ (sa-family "sa_family" :type sa-family-t)
+ (sa-data "sa_data" :type :char :count 14))
+
#+linux
(cstruct sockaddr-in "struct sockaddr_in"
(sin-family "sin_family" :type sa-family-t)