diff --git a/eossr/__init__.py b/eossr/__init__.py
index 96330b75149b193545a1326d5608f4376d3829f8..52c2eb0c6397d582ba30a75593e294cf8fcf4ce0 100644
--- a/eossr/__init__.py
+++ b/eossr/__init__.py
@@ -1,4 +1,4 @@
 from pathlib import Path
 
-ROOT_DIR = Path(__file__).parents[1].as_posix()
+ROOT_DIR = Path(__file__).absolute().parents[1].as_posix()
 __version__ = "0.2"
diff --git a/eossr/api/zenodo/__init__.py b/eossr/api/zenodo/__init__.py
index 76874b860e4b85dd3a2081a86a0f9a0a09a8cb38..4182e168ee758193e8765db7fb69d43f8af30ce7 100644
--- a/eossr/api/zenodo/__init__.py
+++ b/eossr/api/zenodo/__init__.py
@@ -32,7 +32,7 @@ zenodo_sandbox_api_url = "https://sandbox.zenodo.org/api"
 
 
 class ZenodoAPI:
-    def __init__(self, access_token, sandbox=True, proj_root_dir=Path(ROOT_DIR).absolute().name):
+    def __init__(self, access_token, sandbox=True, proj_root_dir=Path(ROOT_DIR)):
         """
         Manages the communication with the (sandbox.)zenodo REST API through the Python request library.
         The client would allow to perform the following tasks within the (sandbox.)zenodo api environment:
diff --git a/eossr/scripts/eossr_upload_repository.py b/eossr/scripts/eossr_upload_repository.py
index 51672461a67e680e3451aefa67797cc339114ebd..7cd479269e89f59fe1399f627f28ac2909cb3b37 100644
--- a/eossr/scripts/eossr_upload_repository.py
+++ b/eossr/scripts/eossr_upload_repository.py
@@ -44,6 +44,7 @@ class SimilarRecordError(Exception):
 def upload(zenodo_token, sandbox_flag, upload_directory, zip_root_dir=False, record_id=None, erase_previous_files=True,
            force_new_record=False, publish=True):
     """
+    Must have a metadata file in directory
 
     :param zenodo_token:
     :param sandbox_flag:
@@ -56,10 +57,10 @@ def upload(zenodo_token, sandbox_flag, upload_directory, zip_root_dir=False, rec
     :return:
     """
 
-    zenodo = ZenodoAPI(access_token=zenodo_token, sandbox=sandbox_flag)
+    zenodo = ZenodoAPI(access_token=zenodo_token, sandbox=sandbox_flag, proj_root_dir=upload_directory)
     print(f"root_dir: {zenodo.root_dir.absolute()}")
     print(f"codemeta_file: {zenodo.path_codemeta_file}")
-    print(f"codemeta_] file exists: {zenodo.path_codemeta_file.exists()}")
+    print(f"codemeta file exists: {zenodo.path_codemeta_file.exists()}")
     print(f"zenodo file exists: {zenodo.path_zenodo_file.exists()}")
 
     # Loads the metadata files if exists
@@ -75,7 +76,7 @@ def upload(zenodo_token, sandbox_flag, upload_directory, zip_root_dir=False, rec
     else:
         raise FileNotFoundError("No metadata provided")
 
-    metadata_for_check = deepcopy(metadata)
+    metadata_for_check = {'metadata':metadata}
     metadata_for_check['id'] = 1  # fake id to create fake record
     record = Record(metadata_for_check)
 
diff --git a/eossr/scripts/tests/test_scripts.py b/eossr/scripts/tests/test_scripts.py
index 615569075c883c7489b0ba7b39dd0931406f0dec..f751ac6d256c2617d927b603d57f810b15a76097 100644
--- a/eossr/scripts/tests/test_scripts.py
+++ b/eossr/scripts/tests/test_scripts.py
@@ -5,6 +5,7 @@ import pytest
 import subprocess
 import pkg_resources
 import os
+import shutil
 from pathlib import Path
 from os.path import dirname, realpath, join
 from eossr.scripts import eossr_upload_repository
@@ -57,6 +58,7 @@ def test_help_all_scripts(script):
 def test_eossr_upload_repository(tmpdir):
     path_test_filename = Path(tmpdir).joinpath('test.txt')
     Path(path_test_filename).write_text('Hello World')
+    shutil.copy(Path(ROOT_DIR).joinpath('codemeta.json'), tmpdir)
     published = eossr_upload_repository.upload(zenodo_token=os.getenv('SANDBOX_ZENODO_TOKEN'),
                                                sandbox_flag=True,
                                                upload_directory=tmpdir