diff --git a/boil/hooks.go b/boil/hooks.go
index 201c763..2609617 100644
--- a/boil/hooks.go
+++ b/boil/hooks.go
@@ -5,14 +5,13 @@ type HookPoint int
 
 // the hook point constants
 const (
-	HookAfterInsert HookPoint = iota + 1
+	HookBeforeInsert HookPoint = iota + 1
+	HookBeforeUpdate
+	HookBeforeDelete
+	HookBeforeUpsert
+	HookAfterInsert
 	HookAfterSelect
 	HookAfterUpdate
 	HookAfterDelete
 	HookAfterUpsert
-	HookBeforeInsert
-	HookBeforeSelect
-	HookBeforeUpdate
-	HookBeforeDelete
-	HookBeforeUpsert
 )
diff --git a/templates/02_hooks.tpl b/templates/02_hooks.tpl
index 6c505b0..7503314 100644
--- a/templates/02_hooks.tpl
+++ b/templates/02_hooks.tpl
@@ -2,7 +2,6 @@
 {{- $tableNameSingular := .Table.Name | singular | titleCase -}}
 {{- $varNameSingular := .Table.Name | singular | camelCase -}}
 var {{$varNameSingular}}BeforeInsertHooks []{{$tableNameSingular}}Hook
-var {{$varNameSingular}}BeforeSelectHooks []{{$tableNameSingular}}Hook
 var {{$varNameSingular}}BeforeUpdateHooks []{{$tableNameSingular}}Hook
 var {{$varNameSingular}}BeforeDeleteHooks []{{$tableNameSingular}}Hook
 var {{$varNameSingular}}BeforeUpsertHooks []{{$tableNameSingular}}Hook
@@ -24,17 +23,6 @@ func (o *{{$tableNameSingular}}) doBeforeInsertHooks() (err error) {
   return nil
 }
 
-// doBeforeSelectHooks executes all "before Select" hooks.
-func (o *{{$tableNameSingular}}) doBeforeSelectHooks() (err error) {
-  for _, hook := range {{$varNameSingular}}BeforeSelectHooks {
-    if err := hook(o); err != nil {
-      return err
-    }
-  }
-
-  return nil
-}
-
 // doBeforeUpdateHooks executes all "before Update" hooks.
 func (o *{{$tableNameSingular}}) doBeforeUpdateHooks() (err error) {
   for _, hook := range {{$varNameSingular}}BeforeUpdateHooks {
@@ -127,8 +115,6 @@ func {{$tableNameSingular}}AddHook(hookPoint boil.HookPoint, {{$varNameSingular}
   switch hookPoint {
     case boil.HookBeforeInsert:
       {{$varNameSingular}}BeforeInsertHooks = append({{$varNameSingular}}BeforeInsertHooks, {{$varNameSingular}}Hook)
-    case boil.HookBeforeSelect:
-      {{$varNameSingular}}BeforeSelectHooks = append({{$varNameSingular}}BeforeSelectHooks, {{$varNameSingular}}Hook)
     case boil.HookBeforeUpdate:
       {{$varNameSingular}}BeforeUpdateHooks = append({{$varNameSingular}}BeforeUpdateHooks, {{$varNameSingular}}Hook)
     case boil.HookBeforeDelete:
diff --git a/templates_test/hooks.tpl b/templates_test/hooks.tpl
index f4ebab4..46d8fd8 100644
--- a/templates_test/hooks.tpl
+++ b/templates_test/hooks.tpl
@@ -13,11 +13,6 @@ func {{$varNameSingular}}AfterInsertHook(o *{{$tableNameSingular}}) error {
   return nil
 }
 
-func {{$varNameSingular}}BeforeSelectHook(o *{{$tableNameSingular}}) error {
-  *o = {{$tableNameSingular}}{}
-  return nil
-}
-
 func {{$varNameSingular}}AfterSelectHook(o *{{$tableNameSingular}}) error {
   *o = {{$tableNameSingular}}{}
   return nil
@@ -84,15 +79,6 @@ func test{{$tableNamePlural}}Hooks(t *testing.T) {
   }
   {{$varNameSingular}}AfterInsertHooks = []{{$tableNameSingular}}Hook{}
 
-  {{$tableNameSingular}}AddHook(boil.HookBeforeSelect, {{$varNameSingular}}BeforeSelectHook)
-  if err = o.doBeforeSelectHooks(); err != nil {
-    t.Errorf("Unable to execute doBeforeSelectHooks: %s", err)
-  }
-  if !reflect.DeepEqual(o, empty) {
-    t.Errorf("Expected BeforeSelectHook function to empty object, but got: %#v", o)
-  }
-  {{$varNameSingular}}BeforeSelectHooks = []{{$tableNameSingular}}Hook{}
-
   {{$tableNameSingular}}AddHook(boil.HookAfterSelect, {{$varNameSingular}}AfterSelectHook)
   if err = o.doAfterSelectHooks(); err != nil {
     t.Errorf("Unable to execute doAfterSelectHooks: %s", err)