diff --git a/src/components/Ecogesture/EcogestureCard.tsx b/src/components/Ecogesture/EcogestureCard.tsx
index 8058d8017bffa7720e08c0458bf5d26592a20d58..fc0a85d1d58570d08777b20b9f8099d15236342c 100644
--- a/src/components/Ecogesture/EcogestureCard.tsx
+++ b/src/components/Ecogesture/EcogestureCard.tsx
@@ -17,12 +17,16 @@ const EcogestureCard: React.FC<EcogestureCardProps> = ({
   const handleCardclick = () => {
     handleClick && ecogesture && handleClick(ecogesture)
   }
-  const [ecogestureIcon, setEcogestureIcon] = useState()
+  const [ecogestureIcon, setEcogestureIcon] = useState<string>()
 
   useEffect(() => {
     if (ecogesture) {
       importIconbyId(ecogesture.id, 'ecogesture').then(icon => {
-        icon && setEcogestureIcon(icon)
+        if (icon) {
+          setEcogestureIcon(icon)
+        } else {
+          setEcogestureIcon('')
+        }
       })
     }
   }, [ecogesture])
diff --git a/src/components/Ecogesture/EcogestureList.tsx b/src/components/Ecogesture/EcogestureList.tsx
index 5963c276e797ad224ea8d1a5541d057974cad430..d35027d1d87bb1070a26b86f7b5665c9d984bc61 100644
--- a/src/components/Ecogesture/EcogestureList.tsx
+++ b/src/components/Ecogesture/EcogestureList.tsx
@@ -29,6 +29,7 @@ const EcogesturesList: React.FC = () => {
     setSelectedEcogesture,
   ] = useState<Ecogesture | null>(null)
   const [ecogestures, setEcogestures] = useState<Ecogesture[] | null>(null)
+  const [isLoaded, setisLoaded] = useState(false)
   const [openEcogestureModal, setOpenEcogestureModal] = useState(false)
   const [openNegaWattModal, setOpenNegaWattModal] = useState(false)
   const [filterbyFluid, setfilterbyFluid] = useState<FluidType | null>(null)
@@ -66,10 +67,12 @@ const EcogesturesList: React.FC = () => {
     toggleDropDown()
   }
   const toggleSort = () => {
+    setisLoaded(false)
     setascendingSort(prev => !prev)
     if (openDropDown == true) {
       toggleDropDown()
     }
+    setTimeout(() => setisLoaded(true), 100)
   }
   const handleKeypress = (
     e: React.KeyboardEvent<HTMLDivElement>,
@@ -101,6 +104,7 @@ const EcogesturesList: React.FC = () => {
       }
     }
     loadEcogestures()
+    setisLoaded(true)
     return () => {
       subscribed = false
     }
@@ -108,220 +112,221 @@ const EcogesturesList: React.FC = () => {
 
   return (
     <div className="ecogesture-root">
-      {!ecogestures ? (
-        <div className="content-view-loading">
-          <StyledChallengeSpinner size="5em" />
-        </div>
-      ) : (
-        <>
-          {openNegaWattModal && (
-            <NegaWattModal handleCloseClick={handleNegaWattCloseClick} />
-          )}
-          <div className="negawatt-button-content">
-            <div className="filters text-16-normal">
+      <>
+        {openNegaWattModal && (
+          <NegaWattModal handleCloseClick={handleNegaWattCloseClick} />
+        )}
+        <div className="negawatt-button-content">
+          <div className="filters text-16-normal">
+            <div
+              className="filter-button"
+              onClick={() => toggleDropDown()}
+              tabIndex={0}
+              onBlur={e => {
+                if (e.relatedTarget === null) toggleDropDown()
+              }}
+            >
+              <MuiButton
+                classes={{
+                  root: 'btn-secondary-negative',
+                  label: 'text-14-normal',
+                }}
+              >
+                <StyledIcon icon={SortIcon} size={24} />
+                <span
+                  className={
+                    openDropDown ? 'ecogestures opened' : 'ecogestures'
+                  }
+                >
+                  {filterbyFluid === null
+                    ? t('ECOGESTURE.FILTER_TITLE')
+                    : t('FLUID.' + FluidType[filterbyFluid] + '.LABEL')}
+                </span>
+              </MuiButton>
+            </div>
+            <div
+              className={openDropDown ? 'dropdown opened' : 'dropdown'}
+              tabIndex={0}
+            >
               <div
-                className="filter-button"
-                onClick={() => toggleDropDown()}
+                className={
+                  filterbyFluid === null ? 'filter filter-active' : 'filter'
+                }
+                onClick={() => {
+                  toggleFilter(null)
+                }}
                 tabIndex={0}
-                onBlur={e => {
-                  if (e.relatedTarget === null) toggleDropDown()
+                onKeyPress={e => {
+                  handleKeypress(e, null)
                 }}
               >
-                <MuiButton
-                  classes={{
-                    root: 'btn-secondary-negative',
-                    label: 'text-14-normal',
-                  }}
-                >
-                  <StyledIcon icon={SortIcon} size={24} />
-                  <span
-                    className={
-                      openDropDown ? 'ecogestures opened' : 'ecogestures'
-                    }
-                  >
-                    {filterbyFluid === null
-                      ? t('ECOGESTURE.FILTER_TITLE')
-                      : t('FLUID.' + FluidType[filterbyFluid] + '.LABEL')}
-                  </span>
-                </MuiButton>
+                {t('ECOGESTURE.FILTER_TITLE')}
+                <StyledIcon
+                  className={
+                    filterbyFluid === null ? 'active checkicon' : 'checkicon'
+                  }
+                  icon={CheckIcon}
+                  size={18}
+                />
               </div>
+
               <div
-                className={openDropDown ? 'dropdown opened' : 'dropdown'}
+                onClick={() => {
+                  toggleFilter(FluidType.ELECTRICITY)
+                }}
+                className={
+                  filterbyFluid === FluidType.ELECTRICITY
+                    ? 'filter filter-active'
+                    : 'filter'
+                }
                 tabIndex={0}
+                onKeyPress={e => {
+                  handleKeypress(e, FluidType.ELECTRICITY)
+                }}
               >
-                <div
+                <StyledIcon
                   className={
-                    filterbyFluid === null ? 'filter filter-active' : 'filter'
+                    filterbyFluid === FluidType.ELECTRICITY
+                      ? 'icon'
+                      : 'active icon'
                   }
-                  onClick={() => {
-                    toggleFilter(null)
-                  }}
-                  tabIndex={0}
-                  onKeyPress={e => {
-                    handleKeypress(e, null)
-                  }}
-                >
-                  {t('ECOGESTURE.FILTER_TITLE')}
-                  <StyledIcon
-                    className={
-                      filterbyFluid === null ? 'active checkicon' : 'checkicon'
-                    }
-                    icon={CheckIcon}
-                    size={18}
-                  />
-                </div>
-
-                <div
-                  onClick={() => {
-                    toggleFilter(FluidType.ELECTRICITY)
-                  }}
+                  icon={ElecIcon}
+                  size={30}
+                />
+                <span>{t(`FLUID.ELECTRICITY.LABEL`)}</span>
+                <StyledIcon
                   className={
                     filterbyFluid === FluidType.ELECTRICITY
-                      ? 'filter filter-active'
-                      : 'filter'
+                      ? 'active checkicon'
+                      : 'checkicon'
                   }
-                  tabIndex={0}
-                  onKeyPress={e => {
-                    handleKeypress(e, FluidType.ELECTRICITY)
-                  }}
-                >
-                  <StyledIcon
-                    className={
-                      filterbyFluid === FluidType.ELECTRICITY
-                        ? 'icon'
-                        : 'active icon'
-                    }
-                    icon={ElecIcon}
-                    size={30}
-                  />
-                  <span>{t(`FLUID.ELECTRICITY.LABEL`)}</span>
-                  <StyledIcon
-                    className={
-                      filterbyFluid === FluidType.ELECTRICITY
-                        ? 'active checkicon'
-                        : 'checkicon'
-                    }
-                    icon={CheckIcon}
-                    size={18}
-                  />
-                </div>
-                <div
-                  onClick={() => {
-                    toggleFilter(FluidType.WATER)
-                  }}
+                  icon={CheckIcon}
+                  size={18}
+                />
+              </div>
+              <div
+                onClick={() => {
+                  toggleFilter(FluidType.WATER)
+                }}
+                className={
+                  filterbyFluid === FluidType.WATER
+                    ? 'filter filter-active'
+                    : 'filter'
+                }
+                tabIndex={0}
+                onKeyPress={e => {
+                  handleKeypress(e, FluidType.WATER)
+                }}
+              >
+                <StyledIcon
                   className={
-                    filterbyFluid === FluidType.WATER
-                      ? 'filter filter-active'
-                      : 'filter'
+                    filterbyFluid === FluidType.WATER ? 'icon' : 'active icon'
                   }
-                  tabIndex={0}
-                  onKeyPress={e => {
-                    handleKeypress(e, FluidType.WATER)
-                  }}
-                >
-                  <StyledIcon
-                    className={
-                      filterbyFluid === FluidType.WATER ? 'icon' : 'active icon'
-                    }
-                    icon={WaterIcon}
-                    size={30}
-                  />
-                  <span> {t(`FLUID.WATER.LABEL`)}</span>
-                  <StyledIcon
-                    className={
-                      filterbyFluid === FluidType.WATER
-                        ? 'active checkicon'
-                        : 'checkicon'
-                    }
-                    icon={CheckIcon}
-                    size={18}
-                  />
-                </div>
-                <div
-                  onClick={() => {
-                    toggleFilter(FluidType.GAS)
-                  }}
+                  icon={WaterIcon}
+                  size={30}
+                />
+                <span> {t(`FLUID.WATER.LABEL`)}</span>
+                <StyledIcon
                   className={
-                    filterbyFluid === FluidType.GAS
-                      ? 'filter filter-active'
-                      : 'filter'
+                    filterbyFluid === FluidType.WATER
+                      ? 'active checkicon'
+                      : 'checkicon'
                   }
-                  tabIndex={0}
-                  onKeyPress={e => {
-                    handleKeypress(e, FluidType.GAS)
-                  }}
-                >
-                  <StyledIcon
-                    className={
-                      filterbyFluid === FluidType.GAS ? 'icon' : 'active icon'
-                    }
-                    icon={GasIcon}
-                    size={30}
-                  />
-                  <span> {t(`FLUID.GAS.LABEL`)}</span>
-                  <StyledIcon
-                    className={
-                      filterbyFluid === FluidType.GAS
-                        ? 'active checkicon'
-                        : 'checkicon'
-                    }
-                    icon={CheckIcon}
-                    size={18}
-                  />
-                </div>
+                  icon={CheckIcon}
+                  size={18}
+                />
               </div>
-
               <div
-                className="order-container"
                 onClick={() => {
-                  toggleSort()
+                  toggleFilter(FluidType.GAS)
+                }}
+                className={
+                  filterbyFluid === FluidType.GAS
+                    ? 'filter filter-active'
+                    : 'filter'
+                }
+                tabIndex={0}
+                onKeyPress={e => {
+                  handleKeypress(e, FluidType.GAS)
                 }}
               >
-                <div className="order-button">
-                  <StyledIcon icon={OrderIcon} size={28} />
-                </div>
+                <StyledIcon
+                  className={
+                    filterbyFluid === FluidType.GAS ? 'icon' : 'active icon'
+                  }
+                  icon={GasIcon}
+                  size={30}
+                />
+                <span> {t(`FLUID.GAS.LABEL`)}</span>
+                <StyledIcon
+                  className={
+                    filterbyFluid === FluidType.GAS
+                      ? 'active checkicon'
+                      : 'checkicon'
+                  }
+                  icon={CheckIcon}
+                  size={18}
+                />
               </div>
-              <div className="ng-question" onClick={handleNegaWattClick}>
-                {t('ECOGESTURE.QUESTION_NEGAWATT')}
+            </div>
+
+            <div
+              className="order-container"
+              onClick={() => {
+                toggleSort()
+              }}
+            >
+              <div className="order-button">
+                <StyledIcon icon={OrderIcon} size={28} />
               </div>
             </div>
+            <div className="ng-question" onClick={handleNegaWattClick}>
+              {t('ECOGESTURE.QUESTION_NEGAWATT')}
+            </div>
           </div>
-          <div className="ecogesture-content">
-            {ecogestures && filterbyFluid !== null
-              ? ecogestures
-                  .filter(ecogesture =>
-                    ecogesture.fluidTypes.includes(filterbyFluid)
-                  )
-                  .sort(
-                    ascendingSort
-                      ? (a, b) => a.nwh - b.nwh
-                      : (a, b) => b.nwh - a.nwh
-                  )
-                  .map((ecogesture, index) => (
-                    <div key={index} className="ecogesture-list-item">
-                      <EcogestureCard
-                        ecogesture={ecogesture}
-                        handleClick={handleClick}
-                      />
-                    </div>
-                  ))
-              : ecogestures
-                  .sort(
-                    ascendingSort
-                      ? (a, b) => a.nwh - b.nwh
-                      : (a, b) => b.nwh - a.nwh
-                  )
-                  .map((ecogesture, index) => (
-                    <div key={index} className="ecogesture-list-item">
-                      <EcogestureCard
-                        ecogesture={ecogesture}
-                        handleClick={handleClick}
-                      />
-                    </div>
-                  ))}
-          </div>
-        </>
-      )}
+        </div>
+        <div className="ecogesture-content">
+          {!ecogestures || !isLoaded ? (
+            <div className="content-view-loading">
+              <StyledChallengeSpinner size="5em" />
+            </div>
+          ) : ecogestures && filterbyFluid !== null ? (
+            ecogestures
+              .filter(ecogesture =>
+                ecogesture.fluidTypes.includes(filterbyFluid)
+              )
+              .sort(
+                ascendingSort
+                  ? (a, b) => a.nwh - b.nwh
+                  : (a, b) => b.nwh - a.nwh
+              )
+              .map((ecogesture, index) => (
+                <div key={index} className="ecogesture-list-item">
+                  <EcogestureCard
+                    ecogesture={ecogesture}
+                    handleClick={handleClick}
+                  />
+                </div>
+              ))
+          ) : (
+            ecogestures &&
+            ecogestures
+              .sort(
+                ascendingSort
+                  ? (a, b) => a.nwh - b.nwh
+                  : (a, b) => b.nwh - a.nwh
+              )
+              .map((ecogesture, index) => (
+                <div key={index} className="ecogesture-list-item">
+                  <EcogestureCard
+                    ecogesture={ecogesture}
+                    handleClick={handleClick}
+                  />
+                </div>
+              ))
+          )}
+        </div>
+      </>
       {openEcogestureModal && selectedEcogesture && (
         <EcogestureModal
           ecogesture={selectedEcogesture}
diff --git a/src/components/Ecogesture/EcogestureModal.tsx b/src/components/Ecogesture/EcogestureModal.tsx
index fab80a1ab011b13511a63083c27f118bac0f8949..f00bb1380b8e1dfbc8bbb74b1dabe8b79d5ff0ed 100644
--- a/src/components/Ecogesture/EcogestureModal.tsx
+++ b/src/components/Ecogesture/EcogestureModal.tsx
@@ -6,7 +6,6 @@ import { Ecogesture } from 'models'
 
 import Modal from 'components/CommonKit/Modal/Modal'
 import StyledIcon from 'components/CommonKit/Icon/StyledIcon'
-import defaultIcon from 'assets/icons/visu/ecogesture/default.svg'
 import { importIconbyId } from 'utils/utils'
 import './ecogestureModal.scss'
 import useExploration from 'components/Hooks/useExploration'
@@ -28,7 +27,7 @@ const EcogestureModal: React.FC<EcogestureModalProps> = ({
   handleCloseClick,
 }: EcogestureModalProps) => {
   const { t } = useI18n()
-  const [ecogestureIcon, setEcogestureIcon] = useState(defaultIcon)
+  const [ecogestureIcon, setEcogestureIcon] = useState('')
   const [isMoreDetail, setIsMoreDetail] = useState(false)
   const { currentChallenge } = useSelector(
     (state: AppStore) => state.ecolyo.challenge
diff --git a/src/components/Ecogesture/ecogestureCard.scss b/src/components/Ecogesture/ecogestureCard.scss
index 34fa1a3ac46622f013bd1e1b5fc92e35bc5a3079..ac631114e04b0e06075b29909ff3757ceeca24a2 100644
--- a/src/components/Ecogesture/ecogestureCard.scss
+++ b/src/components/Ecogesture/ecogestureCard.scss
@@ -22,7 +22,6 @@
     background: $blue-radial-gradient;
     font-size: 12px;
   }
-
   .ec-content {
     display: flex;
     flex-direction: column;