diff --git a/src/app/eiffel/web.go b/src/app/eiffel/web.go
index 52fc4383b7ec55a8deb705aa4deedfce4f770285..c1201ca5edb07179503b52aa10cbbc0d7d251e35 100644
--- a/src/app/eiffel/web.go
+++ b/src/app/eiffel/web.go
@@ -67,7 +67,8 @@ type TemplateFormData struct {
 
 // SearchTemplateData contains templates to render as search results and a flag indicating if the query was too short.
 type SearchTemplateData struct {
-	Templates     []*template.Template
+	Templates []*template.Template
+	// Deprecated this is expected to be unnecessary with the current implementation of EIFFEL
 	QueryTooShort bool
 }
 
@@ -181,8 +182,21 @@ func renderElicitationPage(io web.IO, data TemplateFormData, success []string, e
 }
 
 func searchModal(appCtx *hctx.AppCtx, webCtx *web.Ctx) http.Handler {
+	templateRepository := util.UnwrapType[template.Repository](appCtx.Repository(template.RepositoryName))
+
 	return web.NewController(appCtx, webCtx, func(io web.IO) error {
-		return io.Render(nil, "eiffel.template.search.modal", "eiffel/_modal-template-search.go.html")
+		ctx := io.Context()
+		templates, err := templateRepository.FindByQueryForTypeAndUser(ctx, "", BasicTemplateType, user.MustCtxUser(ctx))
+		if err != nil && !errors.Is(err, persistence.ErrNotFound) {
+			return io.InlineError(web.ErrInternal, err)
+		}
+
+		return io.Render(
+			&SearchTemplateData{Templates: templates},
+			"eiffel.template.search.modal",
+			"eiffel/_modal-template-search.go.html",
+			"eiffel/_template-search-result.go.html",
+		)
 	})
 }
 
@@ -197,13 +211,7 @@ func searchTemplate(appCtx *hctx.AppCtx, webCtx *web.Ctx) http.Handler {
 		}
 
 		query := request.FormValue("search")
-		if len(query) < 3 {
-			return io.Render(
-				&SearchTemplateData{QueryTooShort: true},
-				"eiffel.template.search.result",
-				"eiffel/_template-search-result.go.html",
-			)
-		}
+		// query too short was removed as it is expected to be unnecessary
 
 		ctx := io.Context()
 		templates, err := templateRepository.FindByQueryForTypeAndUser(ctx, query, BasicTemplateType, user.MustCtxUser(ctx))
diff --git a/templates/eiffel/_modal-template-search.go.html b/templates/eiffel/_modal-template-search.go.html
index 01721d00f8fa3bd48e8f5630f62f838d92f2109a..8cb1526db2bb78b15c5a154776f683a05fb67d97 100644
--- a/templates/eiffel/_modal-template-search.go.html
+++ b/templates/eiffel/_modal-template-search.go.html
@@ -1,5 +1,5 @@
 {{ define "eiffel.template.search.modal" }}
-    <div class="modal-dialog modal-lg">
+    <div class="modal-dialog modal-dialog-scrollable modal-lg">
         <div class="modal-content">
             <div class="modal-header">
                 <h1 class="modal-title fs-5" id="eiffelTemplateSearchLabel">{{ t "eiffel.elicitation.template.search.title" }}</h1>
@@ -8,7 +8,7 @@
             <div class="modal-body">
                 <div class="mb-3">
                     <input id="eiffelTemplateSearchInput"
-                       name="search" type="search" class="form-control"
+                       name="search" type="search" class="form-control border-dark-subtle"
                        hx-post="/eiffel/elicitation/templates/search"
                        hx-trigger="input changed delay:300ms, search"
                        hx-target="#eiffelTemplateSearchResults"
@@ -26,9 +26,13 @@
                         </tr>
                     </thead>
                     <tbody id="eiffelTemplateSearchResults">
-                        <tr>
-                            <td class="text-center" colspan="4">{{ t "eiffel.elicitation.template.search.start" }}</td>
-                        </tr>
+                        {{ if not .Data.Templates }}
+                            <tr>
+                                <td class="text-center" colspan="4">{{ t "eiffel.elicitation.template.search.start" }}</td>
+                            </tr>
+                        {{ else }}
+                            {{ template "eiffel.template.search.result" . }}
+                        {{ end }}
                     </tbody>
                 </table>
             </div>