Blog
2 minute read

Remortgaging - is it going to save you money?

Remortgaging can be an effective way to save money on your monthly mortgage repayments, but it can be hard to work out whether or not it is actually a good idea (that will save money!) in the long run. 

Remortgaging means switching your current mortgage to a new provider, usually at a lower interest rate. Alternatively, if your existing lender launches competitive new mortgage deals, you could stay with them and just switch to a different mortgage. If you choose this option it would also mean you don't have to go through the tricky process of being accepted for a new mortgage with a new lender. 

Pros & cons of remortgaging:

For most of us, a mortgage is the biggest debt we'll ever have, so if you can re-mortgage to a cheaper deal you could save thousands each year.  When considering your options, you should speak to an independent mortgage advisor.

Remortgaging may be a good idea if:

  • You’re on a current deal which is about to end: if you’re on a fixed rate mortgage which is ending, usually that means you'll be automatically charged at your lenders' standard variable rate which is typically higher. If this applies to you, it’s useful to start looking for new deals four months before your current deal ends.
  • You could qualify for a cheaper deal that charges less interest - this could be because you now have more equity in your property, or if the property value has gone up a lot.
  • You think the Bank of England mortgage rate will rise quickly and you'll pay more. This won't affect fixed mortgages for the duration of the term but will impact those on variable rate mortgages. The more you owe, the bigger the impact this could have.
  • You are earning more, or have inherited money, and want to pay down your mortgage but your current deal won't allow you to repay much. You still need to do the sums to work out if exit fees negate the benefits.

When you shouldn't re-mortgage:

  • If you're in the early stages of a deal you may have to pay early repayment charges, which can be 2%-5% of your outstanding loan.
  • Your mortgage debt is really small. If this is the case, taking into account fees and the fact that any changes in interest rates are less significant - you may be better off staying put.
  • If you become unemployed, self-employed or on a reduced income. These situations would typically mean you're unlikely to be able to qualify for a new mortgage deal.
  • Your property value has dropped. This means your loan to value (LTV) ratio may have gone up and you have little equity, making it unlikely you'll be accepted for a better deal elsewhere.
  • You've had credit problems since taking out your last mortgage.
  • You're already on a great rate!

What are the costs of remortgaging?

If you're looking to save money by remortgaging, then it's important to understand the costs of the process. These can include;

  • Early repayment charges (ERC's),
  • Booking fees,
  • Conveyancing fees,
  • Survey fees,
  • Mortgage product fees.

It’s important to assess whether or not the savings you will get by switching to a new mortgage with lower interest rates are greater than the costs of remortgaging. Sometimes the new mortgage lender will pay or waive some or all of these costs.

There are many different mortgage types but the most common are fixed rate mortgages, variable rate mortgages, standard variable rate mortgages (SVR) or tracker mortgages. To find out what these all mean, click here.

Further info: equity and loan-to-value

Mortgage deals are based on the loan-to-value (LTV) ratio. For example, if you put down a £50,000 deposit on a property worth £200,000, your LTV is 75%, because your deposit is 25% of the property's value.

The mortgage deal you get depends on the amount of equity you have in the property which is used to calculate your LTV ratio. Equity means how much of the house you own yourself - so the the more of your own cash you can put in, the less you need to borrow from the bank and the more likely you are to get a good deal.

If you can work to get the LTV ratio down, you will generally qualify for cheaper deals and save money on interest repayments. As you pay off your mortgage, you'll also have more and more equity in your property and qualify for a cheaper deal.

Don’t forget, you also gain greater equity if the price of your property goes up from the price you paid for it.

Overpaying your mortgage can help you do this. Normally you can overpay up to 10% of the outstanding loan extra each year. Be careful to keep track though - there are various penalties that can be incurred for overpaying too much.

System.Web.HttpException (0x80004005): Error executing child request for handler 'System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerAsyncWrapper'. ---> System.Data.SqlClient.SqlException (0x80131904): Cannot open database "SalaryFinance_Production" requested by the login. The login failed.
Login failed for user 'SalaryFinanceProdDB'.
   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
   at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
   at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)
   at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
   at System.Data.SqlClient.SqlConnection.Open()
   at NPoco.Database.OpenSharedConnectionImp(Boolean isInternal)
   at NPoco.Database.BeginTransaction(IsolationLevel isolationLevel)
   at Umbraco.Core.Scoping.Scope.get_Database() in D:\a\1\s\src\Umbraco.Core\Scoping\Scope.cs:line 330
   at Umbraco.Core.Persistence.Repositories.Implement.DocumentRepository.PerformGet(Int32 id) in D:\a\1\s\src\Umbraco.Core\Persistence\Repositories\Implement\DocumentRepository.cs:line 76
   at Umbraco.Core.Cache.DefaultRepositoryCachePolicy`2.Get(TId id, Func`2 performGet, Func`2 performGetAll) in D:\a\1\s\src\Umbraco.Core\Cache\DefaultRepositoryCachePolicy.cs:line 168
   at Umbraco.Core.Services.Implement.ContentService.GetById(Int32 id) in D:\a\1\s\src\Umbraco.Core\Services\Implement\ContentService.cs:line 370
   at Umbraco.Forms.Core.Services.PageService.GetPageElements(Int32 umbracoPageId)
   at Umbraco.Forms.Core.Services.PageService.GetPageElements()
   at Umbraco.Forms.Web.Controllers.UmbracoFormsController.GetFormModel(Guid formId, Nullable`1 recordId, String theme)
   at Umbraco.Forms.Web.Controllers.UmbracoFormsController.RenderForm(Guid formId, Nullable`1 recordId, String theme, Boolean includeScripts)
   at lambda_method(Closure , ControllerBase , Object[] )
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c.<BeginInvokeSynchronousActionMethod>b__9_0(IAsyncResult asyncResult, ActionInvocation innerInvokeState)
   at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_0.<InvokeActionMethodFilterAsynchronouslyRecursive>b__0()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_2.<InvokeActionMethodFilterAsynchronouslyRecursive>b__2()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_2.<InvokeActionMethodFilterAsynchronouslyRecursive>b__2()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_2.<InvokeActionMethodFilterAsynchronouslyRecursive>b__2()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_2.<InvokeActionMethodFilterAsynchronouslyRecursive>b__2()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass3_6.<BeginInvokeAction>b__4()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass3_1.<BeginInvokeAction>b__1(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult)
   at System.Web.Mvc.Controller.<>c.<BeginExecuteCore>b__152_1(IAsyncResult asyncResult, ExecuteCoreState innerState)
   at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
   at System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
   at System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)
   at System.Web.Mvc.MvcHandler.<>c.<BeginProcessRequest>b__20_1(IAsyncResult asyncResult, ProcessRequestState innerState)
   at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
   at System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
   at System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper.<>c__DisplayClass5_0.<Wrap>b__0()
   at System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper.Wrap[TResult](Func`1 func)
   at System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride)
ClientConnectionId:6cc0e083-82f9-46ee-afe0-722085505904
Error Number:4060,State:1,Class:11
   at System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride)
   at System.Web.HttpServerUtility.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage)
   at System.Web.HttpServerUtility.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm)
   at System.Web.Mvc.Html.ChildActionExtensions.ActionHelper(HtmlHelper htmlHelper, String actionName, String controllerName, RouteValueDictionary routeValues, TextWriter textWriter)
   at System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper htmlHelper, String actionName, String controllerName, Object routeValues)
   at ASP._Page_Views_MacroPartials_InsertUmbracoFormWithTheme_cshtml.Execute() in C:\Websites\Salary Finance - Production\wwwroot\Salary Finance - Release Candidate - 094\Views\MacroPartials\InsertUmbracoFormWithTheme.cshtml:line 49
   at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
   at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
   at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
   at Umbraco.Web.Mvc.ProfilingView.Render(ViewContext viewContext, TextWriter writer) in D:\a\1\s\src\Umbraco.Web\Mvc\ProfilingView.cs:line 25
   at Umbraco.Web.Mvc.ControllerExtensions.RenderViewResultAsString(ControllerBase controller, ViewResultBase viewResult) in D:\a\1\s\src\Umbraco.Web\Mvc\ControllerExtensions.cs:line 80
   at Umbraco.Web.Macros.PartialViewMacroEngine.Execute(MacroModel macro, IPublishedContent content) in D:\a\1\s\src\Umbraco.Web\Macros\PartialViewMacroEngine.cs:line 98
   at Umbraco.Web.Macros.MacroRenderer.<>c__DisplayClass17_0.<ExecuteMacroOfType>b__0() in D:\a\1\s\src\Umbraco.Web\Macros\MacroRenderer.cs:line 342
   at Umbraco.Web.Macros.MacroRenderer.ExecuteProfileMacroWithErrorWrapper(MacroModel macro, String msgIn, Func`1 getMacroContent, Func`1 msgErr) in D:\a\1\s\src\Umbraco.Web\Macros\MacroRenderer.cs:line 313
   at Umbraco.Web.Macros.MacroRenderer.ExecuteMacroWithErrorWrapper(MacroModel macro, String msgIn, String msgOut, Func`1 getMacroContent, Func`1 msgErr) in D:\a\1\s\src\Umbraco.Web\Macros\MacroRenderer.cs:line 272
   at Umbraco.Web.Macros.MacroRenderer.ExecuteMacroOfType(MacroModel model, IPublishedContent content) in D:\a\1\s\src\Umbraco.Web\Macros\MacroRenderer.cs:line 339
   at Umbraco.Web.Macros.MacroRenderer.Render(MacroModel macro, IPublishedContent content, IDictionary pageElements) in D:\a\1\s\src\Umbraco.Web\Macros\MacroRenderer.cs:line 245
   at Umbraco.Web.UmbracoComponentRenderer.RenderMacro(IPublishedContent content, String alias, IDictionary`2 parameters) in D:\a\1\s\src\Umbraco.Web\UmbracoComponentRenderer.cs:line 131
   at Umbraco.Web.UmbracoComponentRenderer.RenderMacro(Int32 contentId, String alias, IDictionary`2 parameters) in D:\a\1\s\src\Umbraco.Web\UmbracoComponentRenderer.cs:line 102
   at ASP._Page_Views_Partials_GridComponents_NewsletterBlock_cshtml.Execute() in C:\Websites\Salary Finance - Production\wwwroot\Salary Finance - Release Candidate - 094\Views\Partials\GridComponents\NewsletterBlock.cshtml:line 30
   at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
   at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
   at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
   at Umbraco.Web.Mvc.ProfilingView.Render(ViewContext viewContext, TextWriter writer) in D:\a\1\s\src\Umbraco.Web\Mvc\ProfilingView.cs:line 25
   at System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper htmlHelper, String partialViewName, Object model, ViewDataDictionary viewData)
   at Our.Umbraco.DocTypeGridEditor.Web.Extensions.HtmlHelperExtensions.RenderDocTypeGridEditorItem(HtmlHelper helper, IPublishedElement content, String editorAlias, String viewPath, String previewViewPath, Boolean isPreview)
   at ASP._Page_app_plugins_doctypegrideditor_render_DocTypeGridEditor_cshtml.Execute() in C:\Websites\Salary Finance - Production\wwwroot\Salary Finance - Release Candidate - 094\app_plugins\doctypegrideditor\render\DocTypeGridEditor.cshtml:line 63
   at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
   at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
   at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
   at Umbraco.Web.Mvc.ProfilingView.Render(ViewContext viewContext, TextWriter writer) in D:\a\1\s\src\Umbraco.Web\Mvc\ProfilingView.cs:line 25
   at System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper htmlHelper, String partialViewName, Object model, ViewDataDictionary viewData)
   at ASP._Page_Views_Partials_grid_editors_Base_cshtml.Execute() in C:\Websites\Salary Finance - Production\wwwroot\Salary Finance - Release Candidate - 094\Views\Partials\grid\editors\Base.cshtml:line 20