diff --git a/Pages/CustomerLoans.js b/Pages/CustomerLoans.js
index a32da68..6f5f6dd 100644
--- a/Pages/CustomerLoans.js
+++ b/Pages/CustomerLoans.js
@@ -136,6 +136,8 @@
         opt.click();
     },
     enterTextIntoPaymentPeriodInputField: function (text) {
+        browser.executeScript("arguments[0].scrollIntoView();", paymentPeriod.getWebElement());
+        browser.wait(EC.visibilityOf(paymentPeriod), 2000);
         paymentPeriod.click().clear().sendKeys(text);
     },
     selectPaymentPeriod: function (paymentPeriod) {
@@ -228,6 +230,12 @@
         status = $("fims-state-display .mat-list-text .mat-line").getText();
         expect(status).toEqual(expectedStatus);
     },
+    goToStepLoanDetails: function(){
+        browser.sleep(100);
+        browser.wait(EC.elementToBeClickable($$(".td-step-label").get(0)), 3000);
+        $$(".td-step-label").get(0).click();
+        browser.sleep(1000);
+    },
     goToStepDebtToIncomeRatio: function(){
         browser.sleep(100);
         browser.wait(EC.elementToBeClickable($$(".td-step-label").get(1)), 3000);
diff --git a/Pages/Deposits.js b/Pages/Deposits.js
index fcae3a2..bafb490 100644
--- a/Pages/Deposits.js
+++ b/Pages/Deposits.js
@@ -176,6 +176,7 @@
         chargeNameInput1.click().sendKeys(text);
     },
     clickButtonAddCharge: function(){
+        browser.wait(EC.visibilityOf($("fims-deposit-product-charges-form button")), 2000);
         browser.wait(EC.elementToBeClickable($("fims-deposit-product-charges-form button")), 2000);
         $("fims-deposit-product-charges-form button").click();
     },
diff --git a/Specs/loans1_creation&assignment.js b/Specs/loans1_creation&assignment.js
index 5f3c9a2..49dc215 100644
--- a/Specs/loans1_creation&assignment.js
+++ b/Specs/loans1_creation&assignment.js
@@ -422,14 +422,22 @@
         //CustomerLoans.enterTextIntoMemberInputField();
         //documents
         CustomerLoans.goToStepDocuments();
-        browser.pause();
+        //still error for payment period
+        CustomerLoans.verifyButtonCreateMemberLoanDisabled();
+        CustomerLoans.goToStepLoanDetails();
+        CustomerLoans.enterTextIntoPaymentPeriodInputField("5");
+        CustomerLoans.verifyButtonCreateMemberLoanEnabled();
         CustomerLoans.clickEnabledCreateMemberLoanButton();
         Common.verifyMessagePopupIsDisplayed("Case is going to be saved");
         Customers.verifyStateOfLoanAccountWithIdIs(loanAccountShortName, "CREATED");
         //details
+        Common.clickLinkShowForRowWithId(loanAccountShortName);
+        //details
+
     });
     it('planned payment', function () {
         CustomerLoans.viewPlannedPaymentForCustomerLoan(customerAccount, loanShortName, loanAccountShortName);
+        //error, ATEN-474
     });
     it('debt/income ratio', function () {
         CustomerLoans.viewDebtIncomeReportForCustomerLoan(customerAccount, loanShortName, loanAccountShortName);
