diff --git a/src/hashcat.c b/src/hashcat.c
index a514fef1b..d8d4c7f8e 100644
--- a/src/hashcat.c
+++ b/src/hashcat.c
@@ -660,12 +660,6 @@ static int inner1_loop (hashcat_ctx_t *hashcat_ctx)
       u32 mask_min = hashconfig->pw_min;
       u32 mask_max = hashconfig->pw_max;
 
-      if (hashconfig->opts_type & OPTS_TYPE_PT_UNICODE)
-      {
-        mask_min *= 2;
-        mask_max *= 2;
-      }
-
       if ((mask_ctx->css_cnt < mask_min) || (mask_ctx->css_cnt > mask_max))
       {
         if (mask_ctx->css_cnt < mask_min)
@@ -685,6 +679,12 @@ static int inner1_loop (hashcat_ctx_t *hashcat_ctx)
         return 0;
       }
 
+      if (hashconfig->opts_type & OPTS_TYPE_PT_UNICODE)
+      {
+        mask_min *= 2;
+        mask_max *= 2;
+      }
+
       if (hashconfig->opts_type & OPTS_TYPE_PT_UNICODE)
       {
         mp_css_unicode_expand (mask_ctx);
diff --git a/src/mpsp.c b/src/mpsp.c
index 7aa6f027e..7cb9107d4 100644
--- a/src/mpsp.c
+++ b/src/mpsp.c
@@ -50,7 +50,7 @@ void mp_css_split_cnt (const mask_ctx_t *mask_ctx, const hashconfig_t *hashconfi
       }
       else
       {
-        if ((mask_ctx->css_buf[0].cs_len * mask_ctx->css_buf[1].cs_len * mask_ctx->css_buf[2].cs_len) > 128)
+        if ((mask_ctx->css_buf[0].cs_len * mask_ctx->css_buf[1].cs_len * mask_ctx->css_buf[2].cs_len) > 256)
         {
           css_cnt_r = 3;
         }