diff --git a/include/crypto_types.h b/include/crypto_types.h
index 1c42f6cf8a831f084d622d4d394dc6a723ea20f4..192cdef58a3ed29b46860cd7cfdff85cc30c5150 100644
--- a/include/crypto_types.h
+++ b/include/crypto_types.h
@@ -13,36 +13,8 @@
 # define UINT8 unsigned INT8
 #else  /* !PIKE */
 
-/* FIXME: Reorganize the header files for definitions. This stuff
- * should probably live in lsh_types.h, and object definitions should
- * move into a separate header file.
- *
- * FIXME: some of the crypto implementations could well use the
- * READ_UINT32 and WRITE_UINT32 macros. */
-
 # ifdef LSH
-#  ifdef HAVE_CONFIG_H
-#   include "config.h"
-#  endif
-#  if SIZEOF_SHORT >= 4
-#   define UINT32 unsigned short
-#  elif SIZEOF_INT >= 4
-#   define UINT32 unsigned int
-#  elif SIZEOF_LONG >= 4
-#   define UINT32 unsigned long
-#  else
-#   error No suitable type found to use for UINT32
-#  endif /* UINT32 */
-
-#  if SIZEOF_SHORT >= 2
-#   define UINT16 unsigned short
-#  elif SIZEOF_INT >= 2
-#   define UINT16 unsigned int
-#  else
-#   error No suitable type found to use for UINT16
-#  endif  /* UINT16 */
-
-#  define UINT8 unsigned char
+#  include "lsh_types.h"
 
 # else /* !LSH */
 #  define UINT32 unsigned long
@@ -51,14 +23,4 @@
 # endif /* !PIKE */
 #endif
 
-#ifdef __GNUC__
-#define NORETURN __attribute__ ((noreturn))
-#define PRINTF_STYLE(f, a) __attribute__ ((format(printf, f, a)))
-#define UNUSED __attribute__ ((unused))
-#else
-#define NORETURN
-#define PRINTF_STYLE(f, a)
-#define UNUSED
-#endif
-
 #endif /* CRYPTO_TYPES_H_INCLUDED */